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)