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();