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, 08 Jul 2013 17:13:55 GMT

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

David Johle edited comment on AMQ-4223 at 7/8/13 5:13 PM:
----------------------------------------------------------

I noticed something else today that may be related to this issue..

I connected to each of my brokers via JMX and was browsing the tree of MBeans under org.apache.activemq
-> Broker -> (brokername) -> Queue.  For my application there are many queues, of
which 5 of them behave as described above using exclusive consumers.  Viewing the attributes
of the queues From one of the brokers I will see the Options has a value of "consumer.exclusive=true"
on each Queue, whereas on the other broker I see 4 out of 5 have an empty string for that
value.  The one that is different?  Well it also has the "consumer.exclusive=true" value there
as well.  And it just so happens that the particular part of my application suffering from
this bug at the moment is precisely that which shows this discrepancy.

-When everything is working smoothly, I only see the "consumer.exclusive=true" listed in the
options of the Queue which has the consumer that all messages are going to.  Thus, when more
than one broker lists the queue with that option, they are not in agreement about where the
messages go, and I end up with the lack of exclusivity.-
Upon further testing, the above statement didn't hold true.  I still saw it fail when it was
consistent with other Queues.  And honestly with my limited nowledge of the AMQ guts, I'd
expect ALL of them to show the option set on ALL brokers.

                
      was (Author: djohle):
    I noticed something else today that may be related to this issue..

I connected to each of my brokers via JMX and was browsing the tree of MBeans under org.apache.activemq
-> Broker -> (brokername) -> Queue.  For my application there are many queues, of
which 5 of them behave as described above using exclusive consumers.  Viewing the attributes
of the queues From one of the brokers I will see the Options has a value of "consumer.exclusive=true"
on each Queue, whereas on the other broker I see 4 out of 5 have an empty string for that
value.  The one that is different?  Well it also has the "consumer.exclusive=true" value there
as well.  And it just so happens that the particular part of my application suffering from
this bug at the moment is precisely that which shows this discrepancy.

-deleted-
When everything is working smoothly, I only see the "consumer.exclusive=true" listed in the
options of the Queue which has the consumer that all messages are going to.  Thus, when more
than one broker lists the queue with that option, they are not in agreement about where the
messages go, and I end up with the lack of exclusivity.
-deleted-
(Upon further testing, the above statement didn't hold true.  I still saw it fail when it
was consistent with other Queues.  And honestly with my limited nowledge of the AMQ guts,
I'd expect ALL of them to show the option set on ALL brokers.

                  
> 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.6.0, 5.7.0, 5.8.0
>         Environment: RHEL5, Java 1.6
>            Reporter: David Johle
>
> 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