Merge branch 'stable-3.10'
* stable-3.10:
synchronizePendingEvents: Fix stuck replaying flag
Release-Notes: skip
Change-Id: If0a080b81639d072cf20828e4cd6c9cbce010a8d
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<>(