Always run in migration mode

The "migration mode" is always needed because of the need to support
the create ref use-case.

Change-Id: If6c3674de0a64bdb368b31fe2da28288611ea91b
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 f4c2c7a..e5b6190 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/multisite/Configuration.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/multisite/Configuration.java
@@ -27,7 +27,6 @@
 import com.google.inject.Inject;
 import com.google.inject.Singleton;
 import com.googlesource.gerrit.plugins.multisite.forwarder.events.EventFamily;
-import com.googlesource.gerrit.plugins.multisite.validation.dfsrefdb.zookeeper.ZkSharedRefDatabase;
 import java.io.IOException;
 import java.util.Arrays;
 import java.util.Collections;
@@ -144,11 +143,6 @@
     return ofInstance(config);
   }
 
-  private static boolean getBoolean(
-      Supplier<Config> cfg, String section, String subsection, String name, boolean defaultValue) {
-    return cfg.get().getBoolean(section, subsection, name, defaultValue);
-  }
-
   private static int getInt(
       Supplier<Config> cfg, String section, String subSection, String name, int defaultValue) {
     try {
@@ -464,7 +458,6 @@
     private final int DEFAULT_CAS_RETRY_POLICY_BASE_SLEEP_TIME_MS = 100;
     private final int DEFAULT_CAS_RETRY_POLICY_MAX_SLEEP_TIME_MS = 300;
     private final int DEFAULT_CAS_RETRY_POLICY_MAX_RETRIES = 3;
-    private final boolean DEFAULT_MIGRATE = false;
 
     static {
       CuratorFrameworkFactory.Builder b = CuratorFrameworkFactory.builder();
@@ -496,7 +489,6 @@
     private final int casBaseSleepTimeMs;
     private final int casMaxSleepTimeMs;
     private final int casMaxRetries;
-    private final boolean migrate;
 
     private CuratorFramework build;
 
@@ -557,8 +549,6 @@
               KEY_CAS_RETRY_POLICY_MAX_RETRIES,
               DEFAULT_CAS_RETRY_POLICY_MAX_RETRIES);
 
-      migrate = getBoolean(cfg, SECTION, SUBSECTION, KEY_MIGRATE, DEFAULT_MIGRATE);
-
       checkArgument(StringUtils.isNotEmpty(connectionString), "zookeeper.%s contains no servers");
     }
 
@@ -583,11 +573,5 @@
       return new BoundedExponentialBackoffRetry(
           casBaseSleepTimeMs, casMaxSleepTimeMs, casMaxRetries);
     }
-
-    public ZkSharedRefDatabase.OperationMode getOperationMode() {
-      return migrate
-          ? ZkSharedRefDatabase.OperationMode.MIGRATION
-          : ZkSharedRefDatabase.OperationMode.NORMAL;
-    }
   }
 }
diff --git a/src/main/java/com/googlesource/gerrit/plugins/multisite/validation/dfsrefdb/zookeeper/ZkSharedRefDatabase.java b/src/main/java/com/googlesource/gerrit/plugins/multisite/validation/dfsrefdb/zookeeper/ZkSharedRefDatabase.java
index dd6ab64..e290b3d 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/multisite/validation/dfsrefdb/zookeeper/ZkSharedRefDatabase.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/multisite/validation/dfsrefdb/zookeeper/ZkSharedRefDatabase.java
@@ -39,21 +39,11 @@
   private final CuratorFramework client;
   private final RetryPolicy retryPolicy;
 
-  private final OperationMode operationMode;
-
-  public enum OperationMode {
-    NORMAL,
-    MIGRATION;
-  }
-
   @Inject
   public ZkSharedRefDatabase(
-      CuratorFramework client,
-      @Named("ZkLockRetryPolicy") RetryPolicy retryPolicy,
-      OperationMode operationMode) {
+      CuratorFramework client, @Named("ZkLockRetryPolicy") RetryPolicy retryPolicy) {
     this.client = client;
     this.retryPolicy = retryPolicy;
-    this.operationMode = operationMode;
   }
 
   @Override
@@ -76,13 +66,7 @@
           distributedRefValue.compareAndSet(
               writeObjectId(oldRef.getObjectId()), writeObjectId(newValue));
 
-      if (!newDistributedValue.succeeded()
-          && operationMode == OperationMode.MIGRATION
-          && refNotInZk(projectName, oldRef, newRef)) {
-        logger.atInfo().log(
-            "Missing entry in ZK for ref at path '%'. Assuming this is because we are in migration mode and creating it",
-            pathFor(projectName, oldRef, newRef));
-
+      if (!newDistributedValue.succeeded() && refNotInZk(projectName, oldRef, newRef)) {
         return distributedRefValue.initialize(writeObjectId(newRef.getObjectId()));
       }
       return newDistributedValue.succeeded();
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 40f93c0..7cbb4b7 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
@@ -36,7 +36,5 @@
     bind(RetryPolicy.class)
         .annotatedWith(Names.named("ZkLockRetryPolicy"))
         .toInstance(cfg.getZookeeperConfig().buildCasRetryPolicy());
-    bind(ZkSharedRefDatabase.OperationMode.class)
-        .toInstance(cfg.getZookeeperConfig().getOperationMode());
   }
 }
diff --git a/src/test/java/com/googlesource/gerrit/plugins/multisite/validation/dfsrefdb/zookeeper/ZkSharedRefDatabaseTest.java b/src/test/java/com/googlesource/gerrit/plugins/multisite/validation/dfsrefdb/zookeeper/ZkSharedRefDatabaseTest.java
index ceae75f..a94f6c4 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/multisite/validation/dfsrefdb/zookeeper/ZkSharedRefDatabaseTest.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/multisite/validation/dfsrefdb/zookeeper/ZkSharedRefDatabaseTest.java
@@ -29,7 +29,6 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
-import java.io.IOException;
 import org.apache.curator.retry.RetryNTimes;
 import org.eclipse.jgit.lib.ObjectId;
 import org.eclipse.jgit.lib.Ref;
@@ -49,10 +48,7 @@
   public void setup() {
     zookeeperContainer = new ZookeeperTestContainerSupport(false);
     zkSharedRefDatabase =
-        new ZkSharedRefDatabase(
-            zookeeperContainer.getCurator(),
-            new RetryNTimes(5, 30),
-            ZkSharedRefDatabase.OperationMode.NORMAL);
+        new ZkSharedRefDatabase(zookeeperContainer.getCurator(), new RetryNTimes(5, 30));
   }
 
   @After
@@ -106,32 +102,6 @@
   }
 
   @Test
-  public void compareAndPutShouldFaiIfTheObjectionDoesNotExist() throws IOException {
-    Ref oldRef = refOf(AN_OBJECT_ID_1);
-    assertThat(
-            zkSharedRefDatabase.compareAndPut(A_TEST_PROJECT_NAME, oldRef, refOf(AN_OBJECT_ID_2)))
-        .isFalse();
-  }
-
-  @Test
-  public void compareAndPutShouldDoAnInsertIfTheObjectionDoesNotExistAndInMigrationMode()
-      throws Exception {
-    zkSharedRefDatabase =
-        new ZkSharedRefDatabase(
-            zookeeperContainer.getCurator(),
-            new RetryNTimes(5, 30),
-            ZkSharedRefDatabase.OperationMode.MIGRATION);
-
-    Ref oldRef = refOf(AN_OBJECT_ID_1);
-    assertThat(
-            zkSharedRefDatabase.compareAndPut(A_TEST_PROJECT_NAME, oldRef, refOf(AN_OBJECT_ID_2)))
-        .isTrue();
-
-    assertThat(zookeeperContainer.readRefValueFromZk(A_TEST_PROJECT_NAME, oldRef))
-        .isEqualTo(AN_OBJECT_ID_2);
-  }
-
-  @Test
   public void shouldCompareAndRemoveSuccessfully() throws Exception {
     Ref oldRef = refOf(AN_OBJECT_ID_1);
     String projectName = A_TEST_PROJECT_NAME;