Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 458344

Summary: Messages are not released on rollback
Product: Red Hat Enterprise MRG Reporter: Gordon Sim <gsim>
Component: qpid-cppAssignee: Gordon Sim <gsim>
Status: CLOSED ERRATA QA Contact: Martin Kudlej <mkudlej>
Severity: medium Docs Contact:
Priority: high    
Version: 1.0CC: aji.joseph, mgoulish, mkudlej
Target Milestone: 1.3   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Messages that were delivered to a transactional session were not automatically released on a rollback. This caused the messages to be lost instead of being received again after the rollback. With this update, a new high-level API addresses this issue; when a transaction is rolled back, its messages are released and received again.
Story Points: ---
Clone Of: Environment:
Last Closed: 2010-10-14 16:07:01 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Gordon Sim 2008-08-07 18:09:29 UTC
Messages that have been delivered to a transactional session are not automatically released on rollback. Need to think through how we want to support this.

Comment 1 Gordon Sim 2009-02-17 17:18:44 UTC
This should be addressed in any high level client API design: https://bugzilla.redhat.com/show_bug.cgi?id=430491

Comment 3 Gordon Sim 2010-01-29 09:06:52 UTC
This has been addressed in the new higher level messaging api (qpid::messaging::Session). It can be demonstrated using qpid_recv:

1. put some messages on a queue
2. using the new api (e.g. qpid_recv using the --rollback-frequency and --tx options) receive messages from that queue on a transactional session and rollback (either each individual message or in batches). 
3. The same message(s) should be received over and over.

Comment 5 Martin Kudlej 2010-10-05 09:29:07 UTC
I've tested it on RHEL 5.5/4.8 x i386/x86_64 with
$ qpid-config add queue test_q
$ echo "test" | ./qpid_send --content-stdin -b amqp:tcp:127.0.0.1 -a test_q --ttl 100000000
$ ./qpid_receive --rollback-frequency 1 --tx 1 -b amqp:tcp:127.0.0.1 -a test_q

and with packages:
qpid-cpp-server-0.7.946106-17
qpid-tools-0.7.946106-11
qpid-cpp-mrg-debuginfo-0.7.946106-17
qpid-cpp-client-0.7.946106-17

and it works. --> VERIFIED

Comment 6 mick 2010-10-08 08:06:44 UTC
    Technical note added. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    New Contents:
Cause:
    Messages that have been delivered to a transactional session are not automatically released on rollback.

  Consequence:
    Messages are lost that should be received again after rollback.

  Fix:
    Addressed by new high-level API.

  Result:
    When a transaction is rolled back its messages are released and are received again.

Comment 7 Martin Prpič 2010-10-10 10:01:16 UTC
    Technical note updated. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    Diffed Contents:
@@ -1,11 +1 @@
-Cause:
+Messages that were delivered to a transactional session were not automatically released on a rollback. This caused the messages to be lost instead of being received again after the rollback. With this update, a new high-level API addresses this issue; when a transaction is rolled back, its messages are released and received again.-    Messages that have been delivered to a transactional session are not automatically released on rollback.
-
-  Consequence:
-    Messages are lost that should be received again after rollback.
-
-  Fix:
-    Addressed by new high-level API.
-
-  Result:
-    When a transaction is rolled back its messages are released and are received again.

Comment 9 errata-xmlrpc 2010-10-14 16:07:01 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHSA-2010-0773.html