Bug 621467

Summary: messaging API does not allow acknowledging messages up to a particular point
Product: Red Hat Enterprise MRG Reporter: Gordon Sim <gsim>
Component: qpid-cppAssignee: Gordon Sim <gsim>
Status: CLOSED ERRATA QA Contact: Frantisek Reznicek <freznice>
Severity: high Docs Contact:
Priority: high    
Version: betaCC: esammons, freznice, jneedle, jross
Target Milestone: 2.0   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: qpid-cpp-0.9.1079953 Doc Type: Bug Fix
Doc Text:
Cause: The acknowledge() method on a session acknowledged all messages fetched thus far. Consequence: Some applications wish to acknowledge messages after themselves receiving some asynchronous confirmation of processing. This limitation prevents such applications from operating fully asynchronously as they cannot acknowledge any message until processing of all fetched messages has been confirmed to them. Change: Added ability to acknowledge a specific message Result: Applications who wish to tie acknowledgements to asynchronous confirmations they themselves receive on successful processing of the messages can now do so.
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-06-23 15:45:07 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 2010-08-05 07:08:22 UTC
All that is possible at present is to acknowledge all fetched messages. However where the client is e.g. relaying fetched messages across another transport and wants to acknowledge them as it receives asynchronous acknowledgement from the remote destination, it would be valuable to be able to acknowledge messages up to an earlier point.

Comment 1 Gordon Sim 2010-11-25 12:15:15 UTC
Fix committed upstream: http://svn.apache.org/viewvc?rev=987459&view=rev

Comment 2 Gordon Sim 2011-03-07 15:14:27 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:
The acknowledge() method on a session acknowledged all messages fetched thus far.

Consequence:
Some applications wish to acknowledge messages after themselves receiving some asynchronous confirmation of processing. This limitation prevents such applications from operating fully asynchronously as they cannot acknowledge any message until processing of all fetched messages has been confirmed to them.

Change:
Added ability to acknowledge a specific message

Result:
Applications who wish to tie acknowledgements to asynchronous confirmations they themselves receive on successful processing of the messages can now do so.

Comment 4 Frantisek Reznicek 2011-04-27 14:44:29 UTC
The acknowledge method with Message argument was added and is functional, tested on RHEL5.6 / 6.0s5 i[36]86 / x86_64 on packages:
python-qpid-0.10-1.el5.noarch
python-qpid-qmf-0.10-6.el5.x86_64
qpid-cpp-client-0.10-4.el5.x86_64
qpid-cpp-client-devel-0.10-4.el5.x86_64
qpid-cpp-client-devel-docs-0.10-4.el5.x86_64
qpid-cpp-client-rdma-0.10-4.el5.x86_64
qpid-cpp-client-ssl-0.10-4.el5.x86_64
qpid-cpp-mrg-debuginfo-0.10-4.el5.x86_64
qpid-cpp-server-0.10-4.el5.x86_64
qpid-cpp-server-cluster-0.10-4.el5.x86_64
qpid-cpp-server-devel-0.10-4.el5.x86_64
qpid-cpp-server-rdma-0.10-4.el5.x86_64
qpid-cpp-server-ssl-0.10-4.el5.x86_64
qpid-cpp-server-store-0.10-4.el5.x86_64
qpid-cpp-server-xml-0.10-4.el5.x86_64
qpid-dotnet-0.4.738274-2.el5.x86_64
qpid-java-client-0.10-4.el5.noarch
qpid-java-common-0.10-4.el5.noarch
qpid-java-example-0.10-4.el5.noarch
qpid-qmf-0.10-6.el5.x86_64
qpid-qmf-debuginfo-0.10-6.el5.x86_64
qpid-qmf-devel-0.10-6.el5.x86_64
qpid-tests-0.10-1.el5.noarch
qpid-tools-0.10-4.el5.noarch
rh-qpid-cpp-tests-0.10-4.el5.x86_64
ruby-qpid-qmf-0.10-6.el5.x86_64
sesame-0.10-1.el5.x86_64
sesame-debuginfo-0.10-1.el5.x86_64


-> VERIFIED

Comment 5 errata-xmlrpc 2011-06-23 15:45:07 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/RHEA-2011-0890.html