Restore the fetching of all refs with empty delta When the FetchOne's delta is empty the fetching should run with all refs. This fixes a regression introduced by I093ce3a7 when the recover from failed fetch of individual refs has mistakenly skipped also the all refs fetching. Change-Id: I3ea2769d7819b2b79ec2d4f2b9514fc91dee7c3e
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 c028d84..3467460 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
@@ -417,11 +417,6 @@ } private void runImpl() throws IOException { - if (delta.isEmpty()) { - repLog.warn("Empty replication task [{}], skipping.", taskIdHex); - return; - } - Fetch fetch = fetchFactory.create(taskIdHex, uri, git); List<RefSpec> fetchRefSpecs = getFetchRefSpecs(); @@ -436,6 +431,11 @@ inexistentRef); fetchFailures.add(e); delta.remove(inexistentRef); + if (delta.isEmpty()) { + repLog.warn("[{}] Empty replication task, skipping.", taskIdHex); + return; + } + runImpl(); } }