You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Alex Rudyy (Updated) (JIRA)" <ji...@apache.org> on 2011/10/13 14:01:12 UTC

[jira] [Updated] (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 ]

Alex Rudyy updated QPID-3546:
-----------------------------

    Attachment: fix-of-message-rejection-issue.patch

Attached a patch fixing the issue  on 0-10 path.
                
> 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: Alex Rudyy
>            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