Merge branch 'stable-3.7' into stable-3.8
* stable-3.7:
Use index on ChangeNotes which supports local and imported changes
Consume global-refdb from source
Add global-refdb libModule to high-available Docker test
Remove syslog-sidecar volume in Docker test
Bump Gerrit to v3.7.7 in Docker tests
Fix docker-based tests
Change-Id: I41fc19f7a2012c7cd2ef96053d8999395b564d40
diff --git a/BUILD b/BUILD
index 80d202b..01ed84f 100644
--- a/BUILD
+++ b/BUILD
@@ -22,10 +22,16 @@
deps = [
"@jgroups//jar",
"@jgroups-kubernetes//jar",
- "@global-refdb//jar:neverlink",
+ ":global-refdb-neverlink",
],
)
+java_library(
+ name = "global-refdb-neverlink",
+ neverlink = 1,
+ exports = ["//plugins/global-refdb"],
+)
+
junit_tests(
name = "high-availability_tests",
srcs = glob(["src/test/java/**/*.java"]),
diff --git a/Jenkinsfile b/Jenkinsfile
index 0c516ca..98183a5 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -1,2 +1,3 @@
pluginPipeline(formatCheckId: 'gerritforge:plugins-high-availability-code-style',
- buildCheckId: 'gerritforge:plugins-high-availability-build-test')
+ buildCheckId: 'gerritforge:plugins-high-availability-build-test',
+ extraModules: ['global-refdb'])
diff --git a/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/ForwardedIndexChangeHandler.java b/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/ForwardedIndexChangeHandler.java
index 770259d..9663205 100644
--- a/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/ForwardedIndexChangeHandler.java
+++ b/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/ForwardedIndexChangeHandler.java
@@ -124,7 +124,7 @@
private void reindex(ChangeNotes notes) {
notes.reload();
- indexer.index(notes.getChange());
+ indexer.index(notes);
}
private boolean rescheduleIndex(String id, Optional<IndexEvent> indexEvent, int retryCount) {
diff --git a/src/test/docker/docker-compose.yaml b/src/test/docker/docker-compose.yaml
index 42c12c9..24140ca 100644
--- a/src/test/docker/docker-compose.yaml
+++ b/src/test/docker/docker-compose.yaml
@@ -44,8 +44,6 @@
- "29418:29418"
networks:
- gerrit-net
- volumes:
- - syslog-sidecar
depends_on:
- syslog-sidecar
- gerrit-01
@@ -61,6 +59,5 @@
driver: bridge
volumes:
- syslog-sidecar:
shareddir:
gitvolume:
diff --git a/src/test/docker/gerrit/Dockerfile b/src/test/docker/gerrit/Dockerfile
index 4c4d092..caac77f 100644
--- a/src/test/docker/gerrit/Dockerfile
+++ b/src/test/docker/gerrit/Dockerfile
@@ -1,8 +1,8 @@
-FROM gerritcodereview/gerrit:3.7.1
+FROM gerritcodereview/gerrit:3.7.7-ubuntu20
ENV GERRIT_BRANCH=stable-3.7
-ENV GERRIT_CI_URL=https://archive-ci.gerritforge.com/job
+ENV GERRIT_CI_URL=https://gerrit-ci.gerritforge.com/job
USER root
@@ -10,8 +10,9 @@
USER gerrit
-ADD --chown=gerrit:gerrit $GERRIT_CI_URL/plugin-javamelody-bazel-$GERRIT_BRANCH/lastSuccessfulBuild/artifact/bazel-bin/plugins/javamelody/javamelody.jar /var/gerrit/plugins/javamelody.jar
+ADD --chown=gerrit:gerrit $GERRIT_CI_URL/plugin-javamelody-bazel-master-$GERRIT_BRANCH/lastSuccessfulBuild/artifact/bazel-bin/plugins/javamelody/javamelody.jar /var/gerrit/plugins/javamelody.jar
ADD --chown=gerrit:gerrit $GERRIT_CI_URL/plugin-high-availability-bazel-$GERRIT_BRANCH/lastSuccessfulBuild/artifact/bazel-bin/plugins/high-availability/high-availability.jar /var/gerrit/plugins/high-availability.jar
+ADD --chown=gerrit:gerrit $GERRIT_CI_URL/module-global-refdb-bazel-$GERRIT_BRANCH/lastSuccessfulBuild/artifact/bazel-bin/plugins/global-refdb/global-refdb.jar /var/gerrit/lib/global-refdb.jar
USER root
diff --git a/src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/ForwardedIndexChangeHandlerTest.java b/src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/ForwardedIndexChangeHandlerTest.java
index ba0c8c5..fe3e3fb 100644
--- a/src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/ForwardedIndexChangeHandlerTest.java
+++ b/src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/ForwardedIndexChangeHandlerTest.java
@@ -31,7 +31,6 @@
import com.google.gerrit.server.notedb.ChangeNotes;
import com.google.gerrit.server.util.OneOffRequestContext;
import java.io.IOException;
-import java.time.Instant;
import java.util.Optional;
import java.util.concurrent.ScheduledExecutorService;
import org.junit.Before;
@@ -67,8 +66,6 @@
@Before
public void setUp() throws Exception {
id = Change.id(TEST_CHANGE_NUMBER);
- Change change = new Change(null, id, null, null, Instant.now());
- when(changeNotes.getChange()).thenReturn(change);
when(configMock.index()).thenReturn(indexMock);
when(changeCheckerFactoryMock.create(any())).thenReturn(changeCheckerAbsentMock);
handler =
@@ -80,14 +77,14 @@
public void changeIsIndexedWhenUpToDate() throws Exception {
setupChangeAccessRelatedMocks(CHANGE_EXISTS, CHANGE_UP_TO_DATE);
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
public void changeIsStillIndexedEvenWhenOutdated() throws Exception {
setupChangeAccessRelatedMocks(CHANGE_EXISTS, CHANGE_OUTDATED);
handler.index(TEST_CHANGE_ID, Operation.INDEX, Optional.of(new IndexEvent()));
- verify(indexerMock, times(1)).index(any(Change.class));
+ verify(indexerMock, times(1)).index(any(ChangeNotes.class));
}
@Test
@@ -115,13 +112,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
@@ -134,7 +131,7 @@
throw new IOException("someMessage");
})
.when(indexerMock)
- .index(any(Change.class));
+ .index(any(ChangeNotes.class));
assertThat(Context.isForwardedEvent()).isFalse();
IOException thrown =
@@ -144,7 +141,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 changeExists, boolean changeIsUpToDate)