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;