Bug 458344 - Messages are not released on rollback
Summary: Messages are not released on rollback
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise MRG
Classification: Red Hat
Component: qpid-cpp
Version: 1.0
Hardware: All
OS: Linux
high
medium
Target Milestone: 1.3
: ---
Assignee: Gordon Sim
QA Contact: Martin Kudlej
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2008-08-07 18:09 UTC by Gordon Sim
Modified: 2011-08-12 16:22 UTC (History)
3 users (show)

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.
Clone Of:
Environment:
Last Closed: 2010-10-14 16:07:01 UTC
Target Upstream Version:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2010:0773 0 normal SHIPPED_LIVE Moderate: Red Hat Enterprise MRG Messaging and Grid Version 1.3 2010-10-14 15:56:44 UTC

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


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