Give proper name to the shared ref-database config

The shared ref-database is responsible for preventing a
split-brain situation in the multi-site cluster. However, naming
the config for ref-database as 'split-brain' is misleading.

By reading the config file you may wondering why you are
configuring the split-brain, which is exactly what you do
not want to get into.

Change-Id: I1ab3412d2be4b650c9a622393983bcb31a88f4e7
diff --git a/DESIGN.md b/DESIGN.md
index b466ba6..4b253f1 100644
--- a/DESIGN.md
+++ b/DESIGN.md
@@ -500,5 +500,3 @@
 - Serve RW/RW traffic based on the project name/ref-name.
 
 - Balance traffic with "locally-aware" policies based on historical data
-
-- Preventing split-brain in case of temporary sites isolation
diff --git a/README.md b/README.md
index 9f03102..4c84e72 100644
--- a/README.md
+++ b/README.md
@@ -85,10 +85,10 @@
 [kafka "subscriber"]
   enabled = true
 
-[split-brain]
+[ref-database]
   enabled = true
 
-[split-brain "zookeeper"]
+[ref-database "zookeeper"]
   connectString = "localhost:2181"
 ```
 
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 e437771..683bd81 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/multisite/Configuration.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/multisite/Configuration.java
@@ -71,7 +71,7 @@
   private final Index index;
   private final KafkaSubscriber subscriber;
   private final Kafka kafka;
-  private final SplitBrain splitBrain;
+  private final RefDatabaseConfig splitBrain;
 
   @Inject
   Configuration(PluginConfigFactory pluginConfigFactory, @PluginName String pluginName) {
@@ -86,10 +86,10 @@
     cache = new Cache(cfg);
     event = new Event(cfg);
     index = new Index(cfg);
-    splitBrain = new SplitBrain(cfg);
+    splitBrain = new RefDatabaseConfig(cfg);
   }
 
-  public SplitBrain getSplitBrain() {
+  public RefDatabaseConfig getRefDatabaseConfig() {
     return splitBrain;
   }
 
@@ -460,15 +460,21 @@
 
     private Zookeeper(Config cfg) {
       connectionString =
-          getString(cfg, SplitBrain.SECTION, SUBSECTION, KEY_CONNECT_STRING, DEFAULT_ZK_CONNECT);
-      root = getString(cfg, SplitBrain.SECTION, SUBSECTION, KEY_ROOT_NODE, "gerrit/multi-site");
+          getString(
+              cfg, RefDatabaseConfig.SECTION, SUBSECTION, KEY_CONNECT_STRING, DEFAULT_ZK_CONNECT);
+      root =
+          getString(cfg, RefDatabaseConfig.SECTION, SUBSECTION, KEY_ROOT_NODE, "gerrit/multi-site");
       sessionTimeoutMs =
           getInt(
-              cfg, SplitBrain.SECTION, SUBSECTION, KEY_SESSION_TIMEOUT_MS, defaultSessionTimeoutMs);
+              cfg,
+              RefDatabaseConfig.SECTION,
+              SUBSECTION,
+              KEY_SESSION_TIMEOUT_MS,
+              defaultSessionTimeoutMs);
       connectionTimeoutMs =
           getInt(
               cfg,
-              SplitBrain.SECTION,
+              RefDatabaseConfig.SECTION,
               SUBSECTION,
               KEY_CONNECTION_TIMEOUT_MS,
               defaultConnectionTimeoutMs);
@@ -476,7 +482,7 @@
       baseSleepTimeMs =
           getInt(
               cfg,
-              SplitBrain.SECTION,
+              RefDatabaseConfig.SECTION,
               SUBSECTION,
               KEY_RETRY_POLICY_BASE_SLEEP_TIME_MS,
               DEFAULT_RETRY_POLICY_BASE_SLEEP_TIME_MS);
@@ -484,7 +490,7 @@
       maxSleepTimeMs =
           getInt(
               cfg,
-              SplitBrain.SECTION,
+              RefDatabaseConfig.SECTION,
               SUBSECTION,
               KEY_RETRY_POLICY_MAX_SLEEP_TIME_MS,
               DEFAULT_RETRY_POLICY_MAX_SLEEP_TIME_MS);
@@ -492,7 +498,7 @@
       maxRetries =
           getInt(
               cfg,
-              SplitBrain.SECTION,
+              RefDatabaseConfig.SECTION,
               SUBSECTION,
               KEY_RETRY_POLICY_MAX_RETRIES,
               DEFAULT_RETRY_POLICY_MAX_RETRIES);
@@ -500,7 +506,7 @@
       casBaseSleepTimeMs =
           getInt(
               cfg,
-              SplitBrain.SECTION,
+              RefDatabaseConfig.SECTION,
               SUBSECTION,
               KEY_CAS_RETRY_POLICY_BASE_SLEEP_TIME_MS,
               DEFAULT_CAS_RETRY_POLICY_BASE_SLEEP_TIME_MS);
@@ -508,7 +514,7 @@
       casMaxSleepTimeMs =
           getInt(
               cfg,
-              SplitBrain.SECTION,
+              RefDatabaseConfig.SECTION,
               SUBSECTION,
               KEY_CAS_RETRY_POLICY_MAX_SLEEP_TIME_MS,
               DEFAULT_CAS_RETRY_POLICY_MAX_SLEEP_TIME_MS);
@@ -516,12 +522,13 @@
       casMaxRetries =
           getInt(
               cfg,
-              SplitBrain.SECTION,
+              RefDatabaseConfig.SECTION,
               SUBSECTION,
               KEY_CAS_RETRY_POLICY_MAX_RETRIES,
               DEFAULT_CAS_RETRY_POLICY_MAX_RETRIES);
 
-      migrate = getBoolean(cfg, SplitBrain.SECTION, SUBSECTION, KEY_MIGRATE, DEFAULT_MIGRATE);
+      migrate =
+          getBoolean(cfg, RefDatabaseConfig.SECTION, SUBSECTION, KEY_MIGRATE, DEFAULT_MIGRATE);
 
       checkArgument(StringUtils.isNotEmpty(connectionString), "zookeeper.%s contains no servers");
     }
@@ -555,14 +562,14 @@
     }
   }
 
-  public static class SplitBrain {
+  public static class RefDatabaseConfig {
     private final boolean enabled;
 
     private final Zookeeper zookeeper;
-    static final String SECTION = "split-brain";
+    static final String SECTION = "ref-database";
     static final String ENABLED_KEY = "enabled";
 
-    private SplitBrain(Config cfg) {
+    private RefDatabaseConfig(Config cfg) {
 
       this.enabled = getBoolean(cfg, SECTION, null, ENABLED_KEY, DEFAULT_SPLIT_BRAIN);
       zookeeper = this.enabled ? new Zookeeper(cfg) : null;
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 4170239..9909013 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/multisite/Module.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/multisite/Module.java
@@ -82,7 +82,7 @@
       install(new BrokerForwarderModule(config.kafkaPublisher()));
     }
 
-    if (config.getSplitBrain().enabled()) {
+    if (config.getRefDatabaseConfig().enabled()) {
       install(new ValidationModule(config));
     }
 
diff --git a/src/main/java/com/googlesource/gerrit/plugins/multisite/validation/dfsrefdb/zookeeper/ZkValidationModule.java b/src/main/java/com/googlesource/gerrit/plugins/multisite/validation/dfsrefdb/zookeeper/ZkValidationModule.java
index 0b6b457..4775a86 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/multisite/validation/dfsrefdb/zookeeper/ZkValidationModule.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/multisite/validation/dfsrefdb/zookeeper/ZkValidationModule.java
@@ -32,11 +32,12 @@
   @Override
   protected void configure() {
     bind(SharedRefDatabase.class).to(ZkSharedRefDatabase.class);
-    bind(CuratorFramework.class).toInstance(cfg.getSplitBrain().getZookeeper().buildCurator());
+    bind(CuratorFramework.class)
+        .toInstance(cfg.getRefDatabaseConfig().getZookeeper().buildCurator());
     bind(RetryPolicy.class)
         .annotatedWith(Names.named("ZkLockRetryPolicy"))
-        .toInstance(cfg.getSplitBrain().getZookeeper().buildCasRetryPolicy());
+        .toInstance(cfg.getRefDatabaseConfig().getZookeeper().buildCasRetryPolicy());
     bind(ZkSharedRefDatabase.OperationMode.class)
-        .toInstance(cfg.getSplitBrain().getZookeeper().getOperationMode());
+        .toInstance(cfg.getRefDatabaseConfig().getZookeeper().getOperationMode());
   }
 }
diff --git a/src/main/resources/Documentation/config.md b/src/main/resources/Documentation/config.md
index 907bbfe..dee2981 100644
--- a/src/main/resources/Documentation/config.md
+++ b/src/main/resources/Documentation/config.md
@@ -43,10 +43,10 @@
   projectListEventEnabled = true
   streamEventEnabled = true
 
-[split-brain]
+[ref-database]
   enabled = true
 
-[split-brain "zookeeper"]
+[ref-database "zookeeper"]
   connectString = "localhost:2181"
   rootNode = "/gerrit/multi-site"
   sessionTimeoutMs = 1000
@@ -188,65 +188,65 @@
 
     Defaults: 1000
 
-```split-brain.zookeeper.connectString```
+```ref-database.zookeeper.connectString```
 :   Connection string to  zookeeper
 
-```split-brain.zookeeper.rootNode```
+```ref-database.zookeeper.rootNode```
 :   Root node to use under Zookeeper to store/retrieve information
 
     Defaults: "/gerrit/multi-site"
 
 
-```split-brain.zookeeper.sessionTimeoutMs```
+```ref-database.zookeeper.sessionTimeoutMs```
 :   Root node to use under Zookeeper to store/retrieve information
 
     Defaults: 1000
 
-```split-brain.zookeeper.connectionTimeoutMs```
+```ref-database.zookeeper.connectionTimeoutMs```
 :   Root node to use under Zookeeper to store/retrieve information
 
     Defaults: 1000
 
-```split-brain.zookeeper.retryPolicyBaseSleepTimeMs```
+```ref-database.zookeeper.retryPolicyBaseSleepTimeMs```
 :   Configuration for the base sleep timeout (iun ms) to use to create the
     BoundedExponentialBackoffRetry policy used for the Zookeeper connection
 
     Defaults: 1000
 
-```split-brain.zookeeper.retryPolicyMaxSleepTimeMs```
+```ref-database.zookeeper.retryPolicyMaxSleepTimeMs```
 :   Configuration for the max sleep timeout (iun ms) to use to create the
     BoundedExponentialBackoffRetry policy used for the Zookeeper connection
 
     Defaults: 3000
 
-```split-brain.zookeeper.retryPolicyMaxRetries```
+```ref-database.zookeeper.retryPolicyMaxRetries```
 :   Configuration for the max number of retries to use to create the
     BoundedExponentialBackoffRetry policy used for the Zookeeper connection
 
     Defaults: 3
 
-```split-brain.zookeeper.casRetryPolicyBaseSleepTimeMs```
+```ref-database.zookeeper.casRetryPolicyBaseSleepTimeMs```
 :   Configuration for the base sleep timeout (iun ms) to use to create the
     BoundedExponentialBackoffRetry policy used for the Compare and Swap
     operations on Zookeeper
 
     Defaults: 1000
-
-```split-brain.zookeeper.casRetryPolicyMaxSleepTimeMs```
+    
+```ref-database.zookeeper.casRetryPolicyMaxSleepTimeMs```
 :   Configuration for the max sleep timeout (iun ms) to use to create the
     BoundedExponentialBackoffRetry policy used for the Compare and Swap
     operations on Zookeeper
 
     Defaults: 3000
-
-```split-brain.zookeeper.casRetryPolicyMaxRetries```
+    
+```ref-database.zookeeper.casRetryPolicyMaxRetries```
 :   Configuration for the max number of retries to use to create the
     BoundedExponentialBackoffRetry policy used for the Compare and Swap
     operations on Zookeeper
 
     Defaults: 3
 
-```split-brain.zookeeper.migrate```
+```ref-database.zookeeper.migrate```
 :   Set to true when the plugin has been applied to an already existing module
     and there are no entries in Zookeeper for the existing refs. It will handle
     update failures caused by the old refs not existing forcing the creation of
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 a066094..bdd5b4e 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/multisite/ConfigurationTest.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/multisite/ConfigurationTest.java
@@ -33,7 +33,7 @@
 
 import com.google.common.collect.ImmutableList;
 import com.google.gerrit.server.config.PluginConfigFactory;
-import com.googlesource.gerrit.plugins.multisite.Configuration.SplitBrain;
+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;
@@ -100,19 +100,19 @@
   }
 
   @Test
-  public void testGetEnabledSplitBrain() throws Exception {
-    assertThat(getConfiguration().getSplitBrain().enabled()).isEqualTo(DEFAULT_SPLIT_BRAIN);
+  public void testGetEnabledRefDatabaseConfig() throws Exception {
+    assertThat(getConfiguration().getRefDatabaseConfig().enabled()).isEqualTo(DEFAULT_SPLIT_BRAIN);
 
     globalPluginConfig.setBoolean(
-        SplitBrain.SECTION, null, SplitBrain.ENABLED_KEY, SPLIT_BRAIN_ENABLED);
-    // If split-brain enabled, zookeeper 'connect' is required
+        RefDatabaseConfig.SECTION, null, RefDatabaseConfig.ENABLED_KEY, SPLIT_BRAIN_ENABLED);
+    // If ref-database enabled, zookeeper 'connect' is required
     globalPluginConfig.setString(
-        SplitBrain.SECTION,
+        RefDatabaseConfig.SECTION,
         Zookeeper.SUBSECTION,
         Zookeeper.KEY_CONNECT_STRING,
         Zookeeper.DEFAULT_ZK_CONNECT);
 
-    assertThat(getConfiguration().getSplitBrain().enabled()).isEqualTo(SPLIT_BRAIN_ENABLED);
+    assertThat(getConfiguration().getRefDatabaseConfig().enabled()).isEqualTo(SPLIT_BRAIN_ENABLED);
   }
 
   @Test
diff --git a/src/test/java/com/googlesource/gerrit/plugins/multisite/kafka/consumer/EventConsumerIT.java b/src/test/java/com/googlesource/gerrit/plugins/multisite/kafka/consumer/EventConsumerIT.java
index 449c272..9cc4b66 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/multisite/kafka/consumer/EventConsumerIT.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/multisite/kafka/consumer/EventConsumerIT.java
@@ -104,7 +104,7 @@
       config.setString("kafka", null, "bootstrapServers", kafka.getBootstrapServers());
       config.setBoolean("kafka", "publisher", "enabled", true);
       config.setBoolean("kafka", "subscriber", "enabled", true);
-      config.setBoolean("split-brain", null, "enabled", false);
+      config.setBoolean("ref-database", null, "enabled", false);
       Configuration multiSiteConfig = new Configuration(config);
       bind(Configuration.class).toInstance(multiSiteConfig);
       install(new Module(multiSiteConfig, noteDb));
diff --git a/src/test/java/com/googlesource/gerrit/plugins/multisite/validation/dfsrefdb/zookeeper/ZookeeperTestContainerSupport.java b/src/test/java/com/googlesource/gerrit/plugins/multisite/validation/dfsrefdb/zookeeper/ZookeeperTestContainerSupport.java
index d479f7f..726ce18 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/multisite/validation/dfsrefdb/zookeeper/ZookeeperTestContainerSupport.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/multisite/validation/dfsrefdb/zookeeper/ZookeeperTestContainerSupport.java
@@ -74,21 +74,21 @@
     Integer zkHostPort = container.getMappedPort(2181);
     Config splitBrainconfig = new Config();
     String connectString = "localhost:" + zkHostPort;
-    splitBrainconfig.setBoolean("split-brain", null, "enabled", true);
-    splitBrainconfig.setString("split-brain", "zookeeper", "connectString", connectString);
+    splitBrainconfig.setBoolean("ref-database", null, "enabled", true);
+    splitBrainconfig.setString("ref-database", "zookeeper", "connectString", connectString);
     splitBrainconfig.setString(
-        "split-brain",
+        "ref-database",
         Configuration.Zookeeper.SUBSECTION,
         Configuration.Zookeeper.KEY_CONNECT_STRING,
         connectString);
     splitBrainconfig.setBoolean(
-        "split-brain",
+        "ref-database",
         Configuration.Zookeeper.SUBSECTION,
         Configuration.Zookeeper.KEY_MIGRATE,
         migrationMode);
 
     configuration = new Configuration(splitBrainconfig);
-    this.curator = configuration.getSplitBrain().getZookeeper().buildCurator();
+    this.curator = configuration.getRefDatabaseConfig().getZookeeper().buildCurator();
   }
 
   public void cleanup() {