Merge branch 'stable-3.7' into stable-3.8 * stable-3.7: Use index on ChangeNotes which supports local and imported changes Consume events-broker directly from source Change-Id: Ib656dde8e189224275b04206287edb90ea9eeeae
diff --git a/BUILD b/BUILD index 34cc807..f9cfcee 100644 --- a/BUILD +++ b/BUILD
@@ -18,9 +18,9 @@ ], resources = glob(["src/main/resources/**/*"]), deps = [ + ":events-broker-neverlink", ":pull-replication-neverlink", ":replication-neverlink", - "@events-broker//jar:neverlink", "@global-refdb//jar:neverlink", ], ) @@ -37,6 +37,12 @@ exports = ["//plugins/pull-replication"], ) +java_library( + name = "events-broker-neverlink", + neverlink = 1, + exports = ["//plugins/events-broker"], +) + junit_tests( name = "multi_site_tests", srcs = glob(["src/test/java/**/*.java"]), @@ -57,7 +63,7 @@ exports = PLUGIN_DEPS + PLUGIN_TEST_DEPS + [ ":multi-site__plugin", "@global-refdb//jar", - "@events-broker//jar", + "//plugins/events-broker", "//plugins/pull-replication", "//plugins/replication", ],
diff --git a/Jenkinsfile b/Jenkinsfile index 1d09d53..5b02057 100644 --- a/Jenkinsfile +++ b/Jenkinsfile
@@ -1,3 +1,4 @@ pluginPipeline(formatCheckId: 'gerritforge:multi-site-format-47168e90078b0b3f11401610930e82830e76bff7', buildCheckId: 'gerritforge:multi-site-47168e90078b0b3f11401610930e82830e76bff7', - extraPlugins: [ 'pull-replication' ]) + extraPlugins: [ 'pull-replication' ], + extraModules: [ 'events-broker' ])
diff --git a/e2e-tests/test.sh b/e2e-tests/test.sh index 3e0f6c1..b103720 100755 --- a/e2e-tests/test.sh +++ b/e2e-tests/test.sh
@@ -210,7 +210,6 @@ done # Defaults -EVENTS_BROKER_VER=`grep 'com.gerritforge:events-broker' ${LOCATION}/../external_plugin_deps.bzl | cut -d '"' -f 2 | cut -d ':' -f 3` GLOBAL_REFDB_VER=`grep 'com.gerritforge:global-refdb' ${LOCATION}/../external_plugin_deps.bzl | cut -d '"' -f 2 | cut -d ':' -f 3` DEPLOYMENT_LOCATION=$(mktemp -d || $(echo >&2 "Could not create temp dir" && exit 1)) MULTISITE_LIB_LOCATION=${MULTISITE_LIB_LOCATION:-${DEF_MULTISITE_LOCATION}} @@ -267,8 +266,7 @@ -O $COMMON_LIBS/global-refdb.jar || { echo >&2 "Cannot download global-refdb library: Check internet connection. Aborting"; exit 1; } echo "Downloading events-broker library $GERRIT_BRANCH" -wget https://repo1.maven.org/maven2/com/gerritforge/events-broker/$EVENTS_BROKER_VER/events-broker-$EVENTS_BROKER_VER.jar \ - -O $COMMON_LIBS/events-broker.jar || { echo >&2 "Cannot download events-broker library: Check internet connection. Aborting"; exit 1; } +cp bazel-bin/plugins/events-broker/events-broker.jar $COMMON_LIBS/events-broker.jar echo "Setting up directories" mkdir -p ${GERRIT_1_ETC} ${GERRIT_1_PLUGINS} ${GERRIT_1_LIBS} ${GERRIT_2_ETC} ${GERRIT_2_PLUGINS} ${GERRIT_2_LIBS}
diff --git a/external_plugin_deps.bzl b/external_plugin_deps.bzl index b4fc691..7d855cf 100644 --- a/external_plugin_deps.bzl +++ b/external_plugin_deps.bzl
@@ -6,10 +6,3 @@ artifact = "com.gerritforge:global-refdb:3.8.0-rc5", sha1 = "3f54f99e4ddf454c119e8ac3183bba7e9d7c7897", ) - - maven_jar( - name = "events-broker", - artifact = "com.gerritforge:events-broker:3.8.0-rc5", - sha1 = "d62a2e5e49a6f77fff1221d05835bc84481bcb0a", - ) -
diff --git a/src/main/java/com/googlesource/gerrit/plugins/multisite/forwarder/ForwardedIndexChangeHandler.java b/src/main/java/com/googlesource/gerrit/plugins/multisite/forwarder/ForwardedIndexChangeHandler.java index 522a78f..b3fb27c 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/multisite/forwarder/ForwardedIndexChangeHandler.java +++ b/src/main/java/com/googlesource/gerrit/plugins/multisite/forwarder/ForwardedIndexChangeHandler.java
@@ -95,7 +95,7 @@ Optional<ChangeNotes> changeNotes = checker.getChangeNotes(); ChangeNotes notes = changeNotes.get(); notes.reload(); - indexer.index(notes.getChange()); + indexer.index(notes); } }
diff --git a/src/test/java/com/googlesource/gerrit/plugins/multisite/forwarder/ForwardedIndexChangeHandlerTest.java b/src/test/java/com/googlesource/gerrit/plugins/multisite/forwarder/ForwardedIndexChangeHandlerTest.java index 2c4b157..7133a0d 100644 --- a/src/test/java/com/googlesource/gerrit/plugins/multisite/forwarder/ForwardedIndexChangeHandlerTest.java +++ b/src/test/java/com/googlesource/gerrit/plugins/multisite/forwarder/ForwardedIndexChangeHandlerTest.java
@@ -88,7 +88,6 @@ when(ctxMock.open()).thenReturn(manualRequestContextMock); id = Change.id(TEST_CHANGE_NUMBER); change = new Change(null, id, null, null, TimeUtil.now()); - when(changeNotes.getChange()).thenReturn(change); when(changeCheckerFactoryMock.create(any())).thenReturn(changeCheckerAbsentMock); when(configurationMock.index()).thenReturn(index); when(index.numStripedLocks()).thenReturn(10); @@ -102,7 +101,7 @@ public void changeIsIndexedWhenUpToDate() throws Exception { setupChangeAccessRelatedMocks(CHANGE_EXISTS, CHANGE_UP_TO_DATE, CHANGE_CONSISTENT); handler.index(TEST_CHANGE_ID, Operation.INDEX, Optional.empty()); - verify(indexerMock, times(1)).index(any(Change.class)); + verify(indexerMock, times(1)).index(any(ChangeNotes.class)); } @Test @@ -112,7 +111,7 @@ TEST_CHANGE_ID, Operation.INDEX, Optional.of(new ChangeIndexEvent("foo", 1, false, "instance-id"))); - verify(indexerMock, times(1)).index(any(Change.class)); + verify(indexerMock, times(1)).index(any(ChangeNotes.class)); } @Test @@ -127,14 +126,14 @@ TEST_CHANGE_ID, Operation.INDEX, Optional.of(new ChangeIndexEvent("foo", 1, false, "instance-id"))); - verify(indexerMock, never()).index(any(Change.class)); + verify(indexerMock, never()).index(any(ChangeNotes.class)); verify(indexExecutorMock, times(1)).schedule(any(Runnable.class), anyLong(), any()); handler.index( TEST_CHANGE_ID, Operation.INDEX, Optional.of(new ChangeIndexEvent("foo", 1, false, "instance-id"))); - verify(indexerMock, times(1)).index(any(Change.class)); + verify(indexerMock, times(1)).index(any(ChangeNotes.class)); } @Test @@ -172,13 +171,13 @@ return null; }) .when(indexerMock) - .index(any(Change.class)); + .index(any(ChangeNotes.class)); assertThat(Context.isForwardedEvent()).isFalse(); handler.index(TEST_CHANGE_ID, Operation.INDEX, Optional.empty()); assertThat(Context.isForwardedEvent()).isFalse(); - verify(indexerMock, times(1)).index(any(Change.class)); + verify(indexerMock, times(1)).index(any(ChangeNotes.class)); } @Test @@ -191,7 +190,7 @@ throw new IOException("someMessage"); }) .when(indexerMock) - .index(any(Change.class)); + .index(any(ChangeNotes.class)); assertThat(Context.isForwardedEvent()).isFalse(); IOException thrown = @@ -201,7 +200,7 @@ assertThat(thrown).hasMessageThat().isEqualTo("someMessage"); assertThat(Context.isForwardedEvent()).isFalse(); - verify(indexerMock, times(1)).index(any(Change.class)); + verify(indexerMock, times(1)).index(any(ChangeNotes.class)); } private void setupChangeAccessRelatedMocks(boolean changeExist, boolean changeUpToDate) @@ -226,7 +225,7 @@ when(changeCheckerFactoryMock.create(TEST_CHANGE_ID)).thenReturn(changeCheckerPresentMock); when(changeCheckerPresentMock.getChangeNotes()).thenReturn(Optional.of(changeNotes)); if (storageException) { - doThrow(new StorageException("io-error")).when(indexerMock).index(any(Change.class)); + doThrow(new StorageException("io-error")).when(indexerMock).index(any(ChangeNotes.class)); } }