Merge branch 'stable-3.10'
* stable-3.10:
Indexing retries: lower normal condition logs to debug
Check for existence of change's target SHA1 for reindexing
Do not remove replication.jar from multi-site test sites
Update local setup script to stable-3.10
Change-Id: Id752c5baf0776f845469af94c102992682ce61cd
diff --git a/setup_local_env/setup.sh b/setup_local_env/setup.sh
index 3593f96..5a954a9 100755
--- a/setup_local_env/setup.sh
+++ b/setup_local_env/setup.sh
@@ -16,7 +16,7 @@
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
-GERRIT_BRANCH=stable-3.9
+GERRIT_BRANCH=stable-3.10
GERRIT_CI=https://gerrit-ci.gerritforge.com/view/Plugins-$GERRIT_BRANCH/job
LAST_BUILD=lastSuccessfulBuild/artifact/bazel-bin/plugins
@@ -578,12 +578,8 @@
echo "Re-deploying configuration files"
deploy_config_files $GERRIT_1_HOSTNAME $GERRIT_1_HTTPD_PORT $GERRIT_1_SSHD_PORT $GERRIT_2_HOSTNAME $GERRIT_2_HTTPD_PORT $GERRIT_2_SSHD_PORT
-echo "Remove replication plugin from gerrit site 1"
-rm $LOCATION_TEST_SITE_1/plugins/replication.jar
echo "Starting gerrit site 1"
$LOCATION_TEST_SITE_1/bin/gerrit.sh restart
-echo "Remove replication plugin from gerrit site 2"
-rm $LOCATION_TEST_SITE_2/plugins/replication.jar
echo "Starting gerrit site 2"
$LOCATION_TEST_SITE_2/bin/gerrit.sh restart
diff --git a/src/main/java/com/googlesource/gerrit/plugins/multisite/forwarder/ForwardedIndexingHandlerWithRetries.java b/src/main/java/com/googlesource/gerrit/plugins/multisite/forwarder/ForwardedIndexingHandlerWithRetries.java
index f3d4e70..d135e39 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/multisite/forwarder/ForwardedIndexingHandlerWithRetries.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/multisite/forwarder/ForwardedIndexingHandlerWithRetries.java
@@ -64,7 +64,7 @@
protected boolean rescheduleIndex(T id) {
IndexingRetry retry = indexingRetryTaskMap.get(id);
if (retry == null) {
- log.info(
+ log.debug(
"{} {} successfully indexed by different task, rescheduling isn't needed",
indexName(),
id);
@@ -110,7 +110,7 @@
IndexingRetry retry = new IndexingRetry(event);
if (indexingRetryTaskMap.put(id, retry) != null) {
indexOnce.accept(id);
- log.info(
+ log.debug(
"Skipping indexing because there is already a running task for the specified id. Index name: {}, task id: {}",
indexName(),
id);
diff --git a/src/main/java/com/googlesource/gerrit/plugins/multisite/index/ChangeCheckerImpl.java b/src/main/java/com/googlesource/gerrit/plugins/multisite/index/ChangeCheckerImpl.java
index 7b90468..4859593 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/multisite/index/ChangeCheckerImpl.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/multisite/index/ChangeCheckerImpl.java
@@ -30,7 +30,6 @@
import com.googlesource.gerrit.plugins.multisite.forwarder.events.ChangeIndexEvent;
import java.io.IOException;
import java.sql.Timestamp;
-import java.util.Objects;
import java.util.Optional;
import org.eclipse.jgit.errors.MissingObjectException;
import org.eclipse.jgit.lib.Config;
@@ -114,8 +113,7 @@
.map(
e ->
(computedChangeTs.get() > e.eventCreatedOn)
- || ((computedChangeTs.get() == e.eventCreatedOn)
- && (Objects.equals(getBranchTargetSha(), e.targetSha))))
+ || ((computedChangeTs.get() == e.eventCreatedOn) && repositoryHas(e.targetSha)))
.orElse(true);
}
@@ -154,6 +152,15 @@
}
}
+ private boolean repositoryHas(String targetSha) {
+ try (Repository repo = gitRepoMgr.openRepository(changeNotes.get().getProjectName())) {
+ return repo.parseCommit(ObjectId.fromString(targetSha)) != null;
+ } catch (IOException e) {
+ log.warn("Unable to find SHA1 {} for change {}", targetSha, changeId, e);
+ return false;
+ }
+ }
+
@Override
public boolean isChangeConsistent() {
Optional<ChangeNotes> notes = getChangeNotes();