NOOP fetches are to be considered succeded When the FetchOne does not fetch any remote, the succeeded flag was never processed, therefore the replication was considered failed, even though it did not raise any exception. Change-Id: Ida29ec037db4a85311d5910b68dc990731a229dc
diff --git a/src/main/java/com/googlesource/gerrit/plugins/replication/pull/FetchOne.java b/src/main/java/com/googlesource/gerrit/plugins/replication/pull/FetchOne.java index 5cd208f..e75c4c3 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/replication/pull/FetchOne.java +++ b/src/main/java/com/googlesource/gerrit/plugins/replication/pull/FetchOne.java
@@ -624,6 +624,11 @@ boolean anyRefFailed = false; RefUpdate.Result lastRefUpdateResult = RefUpdate.Result.NO_CHANGE; + // NOOP fetches are considered as successes + if (refUpdates.isEmpty()) { + succeeded = true; + } + for (RefUpdateState u : refUpdates) { ReplicationState.RefFetchResult fetchStatus = ReplicationState.RefFetchResult.SUCCEEDED; Set<ReplicationState> logStates = new HashSet<>();