Github user franz1981 commented on the issue:
https://github.com/apache/activemq-artemis/pull/1650
I've added a test for the `shutdownNode` method in a separate PR on your
repository: let me know if it mirrors your expectation of what the method is
supposed to do :+1:
Re performance implications of this change: I've benchmarked it and the
`synchronized` block makes a pure in-memory execution (i.e. no I/O involved) of
the ProcessorBase about 7 time slower on my box when biased locking is disabled
to mimic predicatable latencies and to avoid the JVM to trick us
(`-XX:-UseBiasedLocking` is explained
[here](https://mechanical-sympathy.blogspot.it/2011/11/biased-locking-osr-and-benchmarking-fun.html)).
I have to do benchmarking on the overall broker too, but I suppose it will
impact latencies if not the thoughput too.
IMHO would be better to implement this using only (collaborative) lock-free
algorithms that allow predicatable (and lower) latencies on hot paths: I've
pushed another PR with an implementation of it for our use case (to
review/discuss).
On the hot paths it cost just a volatile load (on x86 is just a load and
compare).
---