Bug 458344 - Messages are not released on rollback
Messages are not released on rollback
Status: CLOSED ERRATA
Product: Red Hat Enterprise MRG
Classification: Red Hat
Component: qpid-cpp (Show other bugs)
1.0
All Linux
high Severity medium
: 1.3
: ---
Assigned To: Gordon Sim
Martin Kudlej
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2008-08-07 14:09 EDT by Gordon Sim
Modified: 2011-08-12 12:22 EDT (History)
3 users (show)

See Also:
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 12:07:01 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Gordon Sim 2008-08-07 14:09:29 EDT
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 12:18:44 EST
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 04:06:52 EST
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 05:29:07 EDT
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 04:06:44 EDT
    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 06:01:16 EDT
    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 12:07:01 EDT
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

Note You need to log in before you can comment on or make changes to this bug.