Event publishing: Set 5 seconds timeout for EventHub#take Pulisher-threads hold here indefinitely, if plugin is reloaded when queue is empty, and holds a reference to the EventHubImpl. Change-Id: I3f515b53cbcdaa9743bc726e257bb60f71d01789
diff --git a/src/main/java/com/googlesource/gerrit/plugins/eventseiffel/EiffelEventHubImpl.java b/src/main/java/com/googlesource/gerrit/plugins/eventseiffel/EiffelEventHubImpl.java index 96e4093..8a947da 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/eventseiffel/EiffelEventHubImpl.java +++ b/src/main/java/com/googlesource/gerrit/plugins/eventseiffel/EiffelEventHubImpl.java
@@ -180,7 +180,7 @@ try { try { while (count.get() == 0 || isTaken()) { - readyForTake.await(); + readyForTake.await(5, TimeUnit.SECONDS); } } catch (InterruptedException e) { signalReadyForTake();