You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "Wesley (Jira)" <ji...@apache.org> on 2019/08/22 18:37:00 UTC
[jira] [Created] (AMQ-7284) Newly restarted consumer becomes
exclusive consumer of ActiveMQ messages for new message groups
Wesley created AMQ-7284:
---------------------------
Summary: Newly restarted consumer becomes exclusive consumer of ActiveMQ messages for new message groups
Key: AMQ-7284
URL: https://issues.apache.org/jira/browse/AMQ-7284
Project: ActiveMQ
Issue Type: Bug
Reporter: Wesley
Suppose there are 2 single threaded consumers A and B (2 separate processes) listening to messages on a queue. All messages sent to this group have a group ID (JMSXGroupID).
ActiveMQ has selected A as the consumer for message groups G1, G2, G3, ... G500. Now, if A goes down and end-group messages ("JMSXGroupSeq" = -1) arrive for these groups, then consumer B consumes them and these groups get permanently attached to consumer B even though the groups have ended.
I checked this using ./activemq (formerly activemq-admin) query -QQueue=*test.queue* --view MessageGroups
Now there is no way these message groups will get purged unless a new end-group message arrives with the same group ID or 'removeAllMessageGroups' is invoked through JMX.
Now if A comes back up again and normal behavior continues, A will get all of the new groups unless there are at least 500 active groups within A that are not yet terminated. It's only after A has at least 500 active groups that B will get a chance to be assigned message groups, but the lower bound for B remains 500.
--
This message was sent by Atlassian Jira
(v8.3.2#803003)