Update git submodules
* Update plugins/replication from branch 'master'
to aac252809094b8e4d4e26d69dab75a23d2da1770
- Merge "Prevent ConcurrentModificationException for PushOne.refBatchesToPush"
- Prevent ConcurrentModificationException for PushOne.refBatchesToPush
The PushOne.refBatchesToPush was a plain HashSet but r/w access to it
wasn't synchronized. Under some circumstances, traversing a stream
created on refBatchesToPush threw ConcurrentModificationException [1]
which caused the thread to die. As a side effect of the thread-death,
the replication task would never reschedule itself but would remain in
the pending tasks and all follow-up replications to the same URI would
be consolidated into that pending task which would never run. Only a
restart of the replication plugin would resolve the issue.
[1]
ERROR com.google.gerrit.server.git.WorkQueue : WorkQueue thread ReplicateTo-some-uri-2 threw exception
java.util.ConcurrentModificationException
at java.base/java.util.HashMap$KeySpliterator.tryAdvance(HashMap.java:1730)
at java.base/java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:129)
at java.base/java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:527)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:513)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)
at com.googlesource.gerrit.plugins.replication.PushOne.getLimitedRefs(PushOne.java:255)
at com.googlesource.gerrit.plugins.replication.PushOne.toString(PushOne.java:221)
at com.google.gerrit.server.git.WorkQueue$ProjectTask.toString(WorkQueue.java:760)
at java.base/java.lang.StringConcatHelper.stringOf(StringConcatHelper.java:453)
at com.google.gerrit.server.git.WorkQueue$Task.run(WorkQueue.java:678)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:840)
Change-Id: I3f29779fd150868412e4994d307303d1dd8bde7b
diff --git a/plugins/replication b/plugins/replication
index d91399e..aac2528 160000
--- a/plugins/replication
+++ b/plugins/replication
@@ -1 +1 @@
-Subproject commit d91399e3ff6205e22d065dbe8757f5128890bfac
+Subproject commit aac252809094b8e4d4e26d69dab75a23d2da1770