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