Bug 458344
| Summary: | Messages are not released on rollback | ||
|---|---|---|---|
| Product: | Red Hat Enterprise MRG | Reporter: | Gordon Sim <gsim> |
| Component: | qpid-cpp | Assignee: | Gordon Sim <gsim> |
| Status: | CLOSED ERRATA | QA Contact: | Martin Kudlej <mkudlej> |
| Severity: | medium | Docs Contact: | |
| Priority: | high | ||
| Version: | 1.0 | CC: | 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
This should be addressed in any high level client API design: https://bugzilla.redhat.com/show_bug.cgi?id=430491 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. 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
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.
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.
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 |