[ 
https://issues.apache.org/jira/browse/QPID-210?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Aidan Skinner resolved QPID-210.
--------------------------------

    Resolution: Fixed

This is fixed in SVN, AMQSession keeps track of unacknowledgedMessageTags and 
deliveredMessageTags

> Optimize implementation of Message.acknowledge()
> ------------------------------------------------
>
>                 Key: QPID-210
>                 URL: https://issues.apache.org/jira/browse/QPID-210
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Client
>    Affects Versions: M3
>            Reporter: Rob Godfrey
>            Assignee: Rob Godfrey
>            Priority: Minor
>
> The current implementation of Message.acknowledge() relies on each consumer 
> separately keeping track og all unacknowledged messages and then sending 
> individual acknowledgements for each one.
> This is sub-optimal as we would like to send as few acknowledgements as 
> possible, and not have to keep track of every message.
> There are two cases to consider:
> In the case where MessageListeners are being used then the previous 
> implementation of acknowledge() (QPID-207, svn revision 487903) is 
> sufficient.  That is we only need to remember the last consumed message, as 
> messageListeners consume messages in order.
> The more complex case is where no MessageListeners are used (i.e. the 
> application is manually calling receive against each consumer).  Here we need 
> to separately account for the last possible "multiple" ackowledge number we 
> can send, and the non-contiguous identfiers of "out-of-order" consumed 
> messages.
> that is if we consume messages 1,2,3,4,5,8,10,12 we could send a multiple 
> acknowledge for 5 then individual acknowledges for 8,10,12 and twelve.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to