[ 
https://issues.apache.org/jira/browse/ARTEMIS-1495?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16243740#comment-16243740
 ] 

ASF GitHub Bot commented on ARTEMIS-1495:
-----------------------------------------

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


> Creating and destroying many queues could deadlock the broker
> -------------------------------------------------------------
>
>                 Key: ARTEMIS-1495
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-1495
>             Project: ActiveMQ Artemis
>          Issue Type: Bug
>          Components: Broker
>            Reporter: Francesco Nigro
>         Attachments: output.log
>
>
> Running a JMS test with 100 Producers/100Consumers/100 queues sending each 
> >=1 messages could lead the broker to deadlock while waiting the paging 
> cursor when the (core) clients disconnect (eg AMQ222022: Timed out waiting 
> for paging cursor to stop 
> FutureLatch(latch=java.util.concurrent.CountDownLatch@415d8105[Count = 1]) 
> OrderedExecutor(tasks=[FutureLatch(latch=java.util.concurrent.CountDownLatch@415d8105[Count
>  = 1])]))



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to