activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "David Johle (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (AMQ-4223) Messages being distributed to exclusive consumers!
Date Mon, 25 Mar 2013 16:43:15 GMT

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

David Johle edited comment on AMQ-4223 at 3/25/13 4:41 PM:
-----------------------------------------------------------

FWIW I am still seeing this issue on occasion.  I have not made any changes to the system
(optimizeAcknowledge has remained false) since opening this issue.  It runs fine for a while
(as in months on end) and then just decides one day to start violating the exclusive consumer
logic.

Restarting my application doesn't really help at all.
Deleting the activemq datastore doesn't really help much either.

So now I have to keep it limping along until it randomly decides to stop stumbling on this
issue and run smooth for a while again.



Looking at it right now I can see that all the "incorrectly delivered" messages were delivered
directly from the "local" broker.  To expand on that...

This application has a network of brokers that is currently only 2 of them, on separate boxes.
 Each instance has one exclusive consumer on the same queue.  If I look at the state of one
broker via JMX I can see the queue has 2 subscriptions (1 local and 1 via the other broker)
and they are marked as exclusive.  From the other broker it's the same thing but in "reverse"
so to speak.

Under normal operation, from both brokers I'll see the counters all sitting at 0 for the one
that is on standby and non-zero for the one that is supposed to receive all the messages.
 And for one broker it's the local one that is non-zero and for the other broker it's the
remote one that is non-zero, which makes perfect sense.

When this bug occurs, I'll see local counters as non-zero and remotes at zero from both sides.
 So that means each broker is specifically delivering only to its local subscription as if
it considers the local subscription the primary/exclusive one, even know it is fully aware
of the remote.

So perhaps the problem is in how the network of brokers negotiate/choose which consumer is
the exclusive one.
                
      was (Author: djohle):
    FWIW I am still seeing this issue on occasion.  I have not made any changes to the system
(optimizeAcknowledge has remained false) since opening this issue.  It runs fine for a while
(as in months on end) and then just decides one day to start violating the exclusive consumer
logic.

Restarting my application doesn't really help at all.
Deleting the activemq datastore doesn't really help much either.

So now I have to keep it limping along until it randomly decides to stop stumbling on this
issue and run smooth for a while again.
                  
> Messages being distributed to exclusive consumers!
> --------------------------------------------------
>
>                 Key: AMQ-4223
>                 URL: https://issues.apache.org/jira/browse/AMQ-4223
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 5.7.0
>         Environment: RHEL5, Java 1.6
>            Reporter: David Johle
>            Priority: Minor
>
> Now that AMQ-3664 is out of the way I thought I could turn on optimizeAcknowledge back
on as long as I gave it some decent timeOut & scheduledAckInterval values.
> Well, it turns out the behavior I was seeing still happens, and I think now it's clearer
that it is something else, just was partially masked by that other issue.
> My configuration is a "network of brokers" two brokers with a producer on each one, and
a consumer on each one.  The consumers are set up with exclusive=true as their part of my
application is an "aggregation" step.  I'm using the exclusive mode to ensure that only one
of them receives all the messages, and the other is essentially a standby/backup in case the
first one is offline.
> When I have optimizeAcknowlege enabled, I see a situation where it is distributing (fairly
equally, in fact) the messages to both of the consumers.  When I set that to false, all the
messages funnel into the currently active consumer as expected.
> I cannot find anything that says these are incompatible features, and cannot figure out
what it is that causes this behavior.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message