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).


---

Reply via email to