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

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

Github user franz1981 commented on the issue:

    https://github.com/apache/activemq-artemis/pull/1650
  
    @clebertsuconic Argh!! Sorry about the  wrong PR: I will repush it!
    Just a couple of observations:
    to be 100% fair, the lock solution is not always that slow (like the in 
memory case is showing) when I/O (networking) is involved: in that case is just 
~15% slower (eg that's on my notebook that has a single socket, with servers 
would be greater due to the context switch & kernel space journey for each 
task).
    > The advantage of the lock here is reentrancy.
    
    :100:  true! But I've avoided to implement it with a reentrant solution due 
to the advices received on a past PR: probably it is an antipattern (I 
suppose). If I'm wrong on that I can write a reentrant version too, but it will 
change further the logic (it is already complex!).
    The solution with the lock is much simpler hence I understand 100% if the 
lock free version wouldn't be accepted and if you'll find any error on the 
logic of what I've done we can fix it together (before any merge) :)
    Probably it could be made simpler too



> 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