Merge branch 'stable-3.8' into stable-3.10 * stable-3.8: synchronizePendingEvents: Fix stuck replaying flag Release-Notes: skip Change-Id: I277e4bbfefee4895615976d1b26440d55a1eef58
diff --git a/src/main/java/com/googlesource/gerrit/plugins/replication/ReplicationQueue.java b/src/main/java/com/googlesource/gerrit/plugins/replication/ReplicationQueue.java index 267ba4e..6a36add 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/replication/ReplicationQueue.java +++ b/src/main/java/com/googlesource/gerrit/plugins/replication/ReplicationQueue.java
@@ -226,8 +226,13 @@ final Map<ReplicateRefUpdate, String> taskNamesByReplicateRefUpdate = new ConcurrentHashMap<>(); if (Prune.TRUE.equals(prune)) { - for (Destination destination : destinations.get().getAll(FilterType.ALL)) { - taskNamesByReplicateRefUpdate.putAll(destination.getTaskNamesByReplicateRefUpdate()); + try { + for (Destination destination : destinations.get().getAll(FilterType.ALL)) { + taskNamesByReplicateRefUpdate.putAll(destination.getTaskNamesByReplicateRefUpdate()); + } + } catch (Throwable e) { + repLog.atWarning().withCause(e).log( + "Unexpected error while accumulating prunable replication tasks"); } } new ChainedScheduler.StreamScheduler<>(