Red Hat Bugzilla – Bug 978977
Messages are redelivered on reconnect, XA transactions
Last modified: 2015-01-04 17:56:59 EST
Description of problem:
Atomicity of messages sent under XA is lost when qpidd is killed and started again. A message that is read under an XA transaction is redelivered on reconnect.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. send a number of messages to a queue in one xa transaction
2. read messages from queue with MDB one by one using xa , store messages to a DB
3. kill qpidd and start qpidd
4. read the rest of messages with MDB, storing them to the DB
5. check the number of messages in the DB
In the DB, there is a large number of duplicate messages found (1 to 25 % of the original number)
In the DB, only messages that were found in the queue should be found, with no duplicates.
Additionally, the test was run without the database (to avoid possible DB malfunctioning). Instead an auxiliary queue was used to store read messages. The result is exactly the same.