Always enable the shared ref-database
Nobody would like to have a multi-site setup to end
up in a split-brain configuration. The use-case where
the ref-database.enabled=false is invalid and thus needs
to be avoided.
Change-Id: Ib155f52a78b89f4d9f339c9d7d1f915c999fc2a9
diff --git a/src/main/java/com/googlesource/gerrit/plugins/multisite/Configuration.java b/src/main/java/com/googlesource/gerrit/plugins/multisite/Configuration.java
index 683bd81..fd97932 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/multisite/Configuration.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/multisite/Configuration.java
@@ -63,7 +63,6 @@
static final boolean DEFAULT_ENABLE_PROCESSING = true;
static final String KAFKA_SECTION = "kafka";
public static final String KAFKA_PROPERTY_PREFIX = "KafkaProp-";
- public static final Boolean DEFAULT_SPLIT_BRAIN = false;
private final KafkaPublisher publisher;
private final Cache cache;
@@ -563,20 +562,13 @@
}
public static class RefDatabaseConfig {
- private final boolean enabled;
+ static final String SECTION = "ref-database";
private final Zookeeper zookeeper;
- static final String SECTION = "ref-database";
- static final String ENABLED_KEY = "enabled";
private RefDatabaseConfig(Config cfg) {
- this.enabled = getBoolean(cfg, SECTION, null, ENABLED_KEY, DEFAULT_SPLIT_BRAIN);
- zookeeper = this.enabled ? new Zookeeper(cfg) : null;
- }
-
- public boolean enabled() {
- return enabled;
+ zookeeper = new Zookeeper(cfg);
}
public Zookeeper getZookeeper() {
diff --git a/src/main/java/com/googlesource/gerrit/plugins/multisite/Module.java b/src/main/java/com/googlesource/gerrit/plugins/multisite/Module.java
index 9909013..72c956e 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/multisite/Module.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/multisite/Module.java
@@ -82,9 +82,7 @@
install(new BrokerForwarderModule(config.kafkaPublisher()));
}
- if (config.getRefDatabaseConfig().enabled()) {
- install(new ValidationModule(config));
- }
+ install(new ValidationModule(config));
bind(Gson.class).toProvider(GsonProvider.class).in(Singleton.class);
}
diff --git a/src/main/resources/Documentation/config.md b/src/main/resources/Documentation/config.md
index dee2981..699ecff 100644
--- a/src/main/resources/Documentation/config.md
+++ b/src/main/resources/Documentation/config.md
@@ -43,9 +43,6 @@
projectListEventEnabled = true
streamEventEnabled = true
-[ref-database]
- enabled = true
-
[ref-database "zookeeper"]
connectString = "localhost:2181"
rootNode = "/gerrit/multi-site"
@@ -127,10 +124,6 @@
: Name of the Kafka topic to use for publishing cache eviction events
Defaults to GERRIT.EVENT.PROJECT.LIST
-```kafka.publisher.enabled```
-: Enable publishing events to Kafka
- Defaults: false
-
```kafka.publisher.indexEventEnabled```
: Enable publication of index events, ignored when `kafka.publisher.enabled`
is false
@@ -271,4 +264,4 @@
The complete list of available settings can be found directly in the kafka website:
* **Publisher**: https://kafka.apache.org/documentation/#producerconfigs
-* **Subscriber**: https://kafka.apache.org/documentation/#consumerconfigs
\ No newline at end of file
+* **Subscriber**: https://kafka.apache.org/documentation/#consumerconfigs
diff --git a/src/test/java/com/googlesource/gerrit/plugins/multisite/ConfigurationTest.java b/src/test/java/com/googlesource/gerrit/plugins/multisite/ConfigurationTest.java
index bdd5b4e..20de0d8 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/multisite/ConfigurationTest.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/multisite/ConfigurationTest.java
@@ -17,7 +17,6 @@
import static com.google.common.truth.Truth.assertThat;
import static com.googlesource.gerrit.plugins.multisite.Configuration.Cache.CACHE_SECTION;
import static com.googlesource.gerrit.plugins.multisite.Configuration.Cache.PATTERN_KEY;
-import static com.googlesource.gerrit.plugins.multisite.Configuration.DEFAULT_SPLIT_BRAIN;
import static com.googlesource.gerrit.plugins.multisite.Configuration.DEFAULT_THREAD_POOL_SIZE;
import static com.googlesource.gerrit.plugins.multisite.Configuration.ENABLE_KEY;
import static com.googlesource.gerrit.plugins.multisite.Configuration.Event.EVENT_SECTION;
@@ -33,8 +32,6 @@
import com.google.common.collect.ImmutableList;
import com.google.gerrit.server.config.PluginConfigFactory;
-import com.googlesource.gerrit.plugins.multisite.Configuration.RefDatabaseConfig;
-import com.googlesource.gerrit.plugins.multisite.Configuration.Zookeeper;
import org.eclipse.jgit.lib.Config;
import org.junit.Before;
import org.junit.Test;
@@ -100,22 +97,6 @@
}
@Test
- public void testGetEnabledRefDatabaseConfig() throws Exception {
- assertThat(getConfiguration().getRefDatabaseConfig().enabled()).isEqualTo(DEFAULT_SPLIT_BRAIN);
-
- globalPluginConfig.setBoolean(
- RefDatabaseConfig.SECTION, null, RefDatabaseConfig.ENABLED_KEY, SPLIT_BRAIN_ENABLED);
- // If ref-database enabled, zookeeper 'connect' is required
- globalPluginConfig.setString(
- RefDatabaseConfig.SECTION,
- Zookeeper.SUBSECTION,
- Zookeeper.KEY_CONNECT_STRING,
- Zookeeper.DEFAULT_ZK_CONNECT);
-
- assertThat(getConfiguration().getRefDatabaseConfig().enabled()).isEqualTo(SPLIT_BRAIN_ENABLED);
- }
-
- @Test
public void testGetCacheSynchronize() throws Exception {
assertThat(getConfiguration().cache().synchronize()).isEqualTo(DEFAULT_SYNCHRONIZE);