Adam Chase wrote:
The way I am implementing failback using qpid is to release a message
when I detect that the other consumer is available again via a
message.

When I release the message, the other consumer isn't getting it.

If I add some credit to myself I get it again and then the next time
the other consumer gets it.  If I kill the first consumer, the second
gets the message immediately.

Is this a bug or intentional?

This is a bug I'm afraid, due to a change in the notification logic between queue and consumers introduced as part of a fix for QPID-1280.

After that change only one consumer gets notified of a message becoming available; unfortunately this does not take into account whether the consumer picked has credit for the message.

If you start the second consumer after the message has been released by the first consumer then the second consumer receives it as expected.

If you start the second consumer before the message is released, it doesn't get the released message unless you kill the first consumer (or cancel its subscription).

Also, if a second message were published, the second consumer would be notified of message availability and would then pick up the first message.

I have created a JIRA for this[1] and will get a fix out as soon as possible.

[1] https://issues.apache.org/jira/browse/QPID-1660

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:[email protected]

Reply via email to