[ 
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

Reply via email to