Tagged federation messages in a transaction can cause subsequent dequeue to fail
--------------------------------------------------------------------------------
Key: QPID-3304
URL: https://issues.apache.org/jira/browse/QPID-3304
Project: Qpid
Issue Type: Bug
Components: C++ Broker
Affects Versions: 0.10
Reporter: Gordon Sim
Fix For: 0.11
E.g. with Error dequeuing message, persistence id not set
(MessageStoreImpl.cpp:1355) (exact error depends on store used).
To reproduce, bind a durable queue to an exchange with a given binding key the
set up a route between that same exchange on two brokers with the 'source
broker' being the one with the durable queue bound to it. Then bind a queue on
the 'destination' broker with the same binding key as used for the durable
queue. Then publish a transactional message to the source brokers exchange with
a matching routing key. The message will be enqueued on both the durable queue
and the federation routes temporary bridge queue. However the persistence id
for the message, set when enqueueing on the durable queue is lost and
subsequent attempts to dequeue to fail.
The problem is that the copy-on-write strategy used to workaround QPID-2670
means that the message on which the persistent store id is set is not then
pushed onto the appropriate queues, the copy is (and the copy may not have the
persistence id set on it).
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:[email protected]