Github user michaelandrepearce commented on a diff in the pull request:
https://github.com/apache/activemq-artemis/pull/2119#discussion_r192514909
--- Diff:
artemis-server/src/main/java/org/apache/activemq/artemis/core/postoffice/QueueInfo.java
---
@@ -107,7 +108,11 @@ public void incrementConsumers() {
}
public void decrementConsumers() {
- numberOfConsumers--;
+ if (numberOfConsumers > 0) {
--- End diff --
This isnt being atomically updated so still possible two decrements at the
same time can cause the number to go negative incorrectly.
To avoid this ideally should syncronize any update to the field or make
changes to the field using an atomic updater
---