[
https://issues.apache.org/jira/browse/ARTEMIS-2252?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Leo Provido updated ARTEMIS-2252:
---------------------------------
Summary: Intermittent thread deadlock when using message groups and message
selectors (was: Some messages are never delivered.)
> Intermittent thread deadlock when using message groups and message selectors
> ----------------------------------------------------------------------------
>
> Key: ARTEMIS-2252
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2252
> Project: ActiveMQ Artemis
> Issue Type: Bug
> Components: Broker
> Affects Versions: 2.6.4
> Reporter: Leo Provido
> Priority: Major
> Attachments: Artemis 2.6.4 thread dump.txt
>
>
> We’ve encountered what we think is a bug in Artemis. The issue arises
> establishing two AMQP receiver links to the same Artemis queue (durable),
> where each receiver link is established with an AMQP “filter set”, and then
> messages are sent to the queue where those messages are assigned to message
> groups. The messages are filtered on message type (JMSType). With this setup,
> we occasionally find that Artemis permanently holds onto a message (i.e.
> never delivers it).
> We send 100,000 messages (of the same type – all messages go to the same
> receiver link) to the queue, where each message is assigned to one of 10,000
> message groups, where each message group contains 10 messages. Furthermore,
> the messages are assigned to message groups in the order such that:
> • After the first 10,000 messages have been sent, each message group has
> been assigned one message
> • After the second 10,000 messages have been sent, each message group has
> been assigned two messages
> • After 90,000 message have been sent, each message group has been
> assigned 9 messages.
> The client application creating the two receiver links accepts all messages
> in a message group when the last message in that message group is received.
> We find the client application sometimes receives fewer than 100,000 messages
> from Artemis. Around 1 in 3 the application receives 99,999 messages, but
> sometimes, even fewer than 99,999 messages. After 2 minutes, we time out the
> message group containing the one missing message and reject the 9 messages we
> did receive. This then leaves one message in the queue.
> This message is never delivered. However, more interestingly, when we then
> attempt to close the connection, it takes 60 seconds to close. Furthermore,
> after 30 seconds, Artemis logs a thread dump. After another 30 seconds,
> Artemis logs a second thread dump, and then the connection is closed. The
> attached is a copy of both thread dumps.
> Note that if the second receiver link is not created, the issue does not
> occur.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)