commit | acaaf71cd46c3da0beaf05b53db53bcc28650990 | [log] [tgz] |
---|---|---|
author | Marcin Czech <maczech@gmail.com> | Fri Aug 09 15:34:26 2019 +0100 |
committer | Luca Milanesio <luca.milanesio@gmail.com> | Mon Aug 12 08:29:43 2019 +0000 |
tree | fcc35e2ebc0d27d990b6bbd0c0bf02d985888d3a | |
parent | 662e6e47072f0dc402e64b3d4c3d19234921e5af [diff] |
Do no store refs/cache-automerge in the shared ref-db refs/cache-automerge is caching information so it shouldn't be stored in shared ref-db. Keeping it in the db cause reporting split-brain for read-only operations. Feature: Issue 11198 Change-Id: Iafe31da096c97d6c381342f811c2f968c11a6c14
diff --git a/src/main/java/com/googlesource/gerrit/plugins/multisite/validation/dfsrefdb/SharedRefEnforcement.java b/src/main/java/com/googlesource/gerrit/plugins/multisite/validation/dfsrefdb/SharedRefEnforcement.java index a5f87b5..4de6dea 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/multisite/validation/dfsrefdb/SharedRefEnforcement.java +++ b/src/main/java/com/googlesource/gerrit/plugins/multisite/validation/dfsrefdb/SharedRefEnforcement.java
@@ -48,6 +48,7 @@ default boolean isRefToBeIgnoredBySharedRefDb(String refName) { return refName == null || refName.startsWith("refs/draft-comments") - || (refName.startsWith("refs/changes") && !refName.endsWith("/meta")); + || (refName.startsWith("refs/changes") && !refName.endsWith("/meta")) + || refName.startsWith("refs/cache-automerge"); } }
diff --git a/src/test/java/com/googlesource/gerrit/plugins/multisite/validation/dfsrefdb/zookeeper/DefaultSharedRefEnforcementTest.java b/src/test/java/com/googlesource/gerrit/plugins/multisite/validation/dfsrefdb/zookeeper/DefaultSharedRefEnforcementTest.java index c0be21e..83fcf52 100644 --- a/src/test/java/com/googlesource/gerrit/plugins/multisite/validation/dfsrefdb/zookeeper/DefaultSharedRefEnforcementTest.java +++ b/src/test/java/com/googlesource/gerrit/plugins/multisite/validation/dfsrefdb/zookeeper/DefaultSharedRefEnforcementTest.java
@@ -42,6 +42,13 @@ } @Test + public void aCacheAutomergeShouldBeIgnored() { + Ref immutableChangeRef = newRef("refs/cache-automerge/01/1/1000000", AN_OBJECT_ID_1); + assertThat(refEnforcement.getPolicy(A_TEST_PROJECT_NAME, immutableChangeRef.getName())) + .isEqualTo(EnforcePolicy.IGNORED); + } + + @Test public void aDraftCommentsShouldBeIgnored() { Ref immutableChangeRef = newRef("refs/draft-comments/01/1/1000000", AN_OBJECT_ID_1); assertThat(refEnforcement.getPolicy(A_TEST_PROJECT_NAME, immutableChangeRef.getName()))