You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Robbie Gemmell (Resolved) (JIRA)" <ji...@apache.org> on 2011/10/13 14:03:11 UTC
[jira] [Resolved] (QPID-3546) client can reject/release up to the
first sent by the broker
following the first rollback after failover
[ https://issues.apache.org/jira/browse/QPID-3546?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Robbie Gemmell resolved QPID-3546.
----------------------------------
Resolution: Fixed
Patch applied. Only fixed on the 0-10 client path, as fixing this on the 0-8/9/9-1 path currently would cause undesirable interaction with the issue in QPID-3521, which will be updated to mention this should be fixed for the 0-8/9/9-1 path along with that issue.
> client can reject/release up to the first <total number of messages received on the session> sent by the broker following the first rollback after failover
> -----------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: QPID-3546
> URL: https://issues.apache.org/jira/browse/QPID-3546
> Project: Qpid
> Issue Type: Bug
> Components: Java Client
> Affects Versions: 0.6, 0.7, 0.8, 0.9, 0.10, 0.11, 0.12
> Reporter: Robbie Gemmell
> Assignee: Robbie Gemmell
> Priority: Critical
> Fix For: 0.13
>
> Attachments: fix-of-message-rejection-issue.patch
>
>
> The Java client can reject/release up to the first <total number of messages received on the session> sent by the broker following the first rollback after failover.
> When failover occurs, the rollback mark is set to -1 however the highestDeliveryTag is not cleared, and so upon the first rollback performed after failover this will set the rollback mark to <highestDeliveryTag>, which is either the number of messages received by the Session (0-8/0-9/0-9-1) or anything up to that value (0-10, where the message delivery tags are the per-connection command IDs associated with each MessageTransfer, and all other commands). This makes the client reject/release all incoming messages until the deliveryTag passes the rollback mark and the messages are allowed through the Dispatcher.
> This could cause significant delays in message processing after failover, and may result in messages arriving out of order because earlier rejects/release get processed by the broker and cause it to re-dispatch earlier messages on the queue within the ongoing flow of later messages just being sent for the first time.
> The deliveryTag marker should also be reset during the failover cleanup process.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org