[
https://issues.apache.org/jira/browse/QPID-4302?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13455230#comment-13455230
]
Keith Wall commented on QPID-4302:
----------------------------------
Patch applied. Hi Robbie, could you review please?
> 0-8..0-9-1 client should sync after message.acknowledge()
> ---------------------------------------------------------
>
> Key: QPID-4302
> URL: https://issues.apache.org/jira/browse/QPID-4302
> Project: Qpid
> Issue Type: Bug
> Components: Java Broker
> Affects Versions: 0.6, 0.8, 0.10, 0.12, 0.14, 0.16, 0.18
> Reporter: Keith Wall
> Assignee: Keith Wall
> Fix For: 0.19
>
>
> In 0-8..0-9-1 protocols, message acknowledgement (BasicAck) is async by
> design. There is no BasicAckOk. This presents a problem for JMS CLIENT_ACK
> mode. When Message#acknowledge() returns the spec requires that the Broker
> has processed the ack and the client won't see the message(s) again.
> Currently calling Message#acknowledge() merely puts the command in buffer to
> be put on the wire later by the IoSender. There is no assurance that the
> Broker has even received the command let alone process it successfully.
> The client should be changed to sync() once before returning the the client
> to give assurance that the Broker has received and processed the commands.
> For the 0-8..0-9-1 code paths acknowledgement of messages in CLIENT_ACK mode
> might not happen immediately in Message#acknowledge. It should be updated to
> acknowledge messages synchronously. There will be a system property to
> allow the old behaviour to be restored if so desired.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]