Bug 978977

Summary: Messages are redelivered on reconnect, XA transactions
Product: Red Hat Enterprise MRG Reporter: Valiantsina Hubeika <vhubeika>
Component: qpid-jcaAssignee: messaging-bugs <messaging-bugs>
Status: NEW --- QA Contact: MRG Quality Engineering <mrgqe-bugs>
Severity: high Docs Contact:
Priority: high    
Version: 2.3CC: jross, mtoth
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Valiantsina Hubeika 2013-06-27 12:23:55 UTC
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):

qpid-jca-0.18-8.el6.noarch
qpid-jca-xarecovery-0.18-8.el6.noarch


How reproducible:
100 %


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

Actual results:

In the DB, there is a large number of duplicate messages found (1 to 25 % of the original number)


Expected results:

In the DB, only messages that were found in the queue should be found, with no duplicates.

Additional info:

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.