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 (Created) (JIRA)" <ji...@apache.org> on 2011/10/13 13:23:11 UTC

[jira] [Created] (QPID-3546) client can reject/release up to the first sent by the broker following the first rollback after failover

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.12, 0.11, 0.10, 0.9, 0.8, 0.7, 0.6
            Reporter: Robbie Gemmell
            Priority: Critical
             Fix For: 0.13


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


[jira] [Resolved] (QPID-3546) client can reject/release up to the first sent by the broker following the first rollback after failover

Posted by "Robbie Gemmell (Resolved) (JIRA)" <ji...@apache.org>.
     [ 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


[jira] [Assigned] (QPID-3546) client can reject/release up to the first sent by the broker following the first rollback after failover

Posted by "Alex Rudyy (Assigned) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-3546?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Alex Rudyy reassigned QPID-3546:
--------------------------------

    Assignee: Alex Rudyy
    
> 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
>
>
> 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


[jira] [Updated] (QPID-3546) client can reject/release up to the first sent by the broker following the first rollback after failover

Posted by "Alex Rudyy (Updated) (JIRA)" <ji...@apache.org>.
     [ 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


[jira] [Assigned] (QPID-3546) client can reject/release up to the first sent by the broker following the first rollback after failover

Posted by "Robbie Gemmell (Assigned) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-3546?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Robbie Gemmell reassigned QPID-3546:
------------------------------------

    Assignee: Robbie Gemmell  (was: Alex Rudyy)
    
> 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