You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Kim van der Riet (JIRA)" <qp...@incubator.apache.org> on 2009/12/15 21:06:18 UTC

[jira] Created: (QPID-2278) Store recovery compatibility problem introduced by alternate-exchange fix

Store recovery compatibility problem introduced by alternate-exchange fix
-------------------------------------------------------------------------

                 Key: QPID-2278
                 URL: https://issues.apache.org/jira/browse/QPID-2278
             Project: Qpid
          Issue Type: Bug
          Components: C++ Broker
            Reporter: Kim van der Riet
            Assignee: Kim van der Riet


A recent checkin (r.831082) fixed a problem in which the exchange did not persist the alternate-exchange setting, and on recovery this was being lost. To fix it, an additional string was added to the Exchange::encode() and Exchange::decode() methods. However, this fix means that there is a binary incompatibility between pre- and post-fix exchange data. Attempting to recover stores from pre-fix brokers result in broker shutdown if recovery is attempted using post-fix brokers.

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


---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org


[jira] Resolved: (QPID-2278) Store recovery compatibility problem introduced by alternate-exchange fix

Posted by "Gordon Sim (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-2278?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Gordon Sim resolved QPID-2278.
------------------------------

    Resolution: Fixed

There was a another checkin (r.831082) that also added the alternate exchange to the queues encoded information. A similar fix was made here as for the case of the exchange, namely the extra data is encoded at the end and the decode checks for its availability before trying to decode it. Further fix is in r891195.

> Store recovery compatibility problem introduced by alternate-exchange fix
> -------------------------------------------------------------------------
>
>                 Key: QPID-2278
>                 URL: https://issues.apache.org/jira/browse/QPID-2278
>             Project: Qpid
>          Issue Type: Bug
>          Components: C++ Broker
>            Reporter: Kim van der Riet
>            Assignee: Kim van der Riet
>
> A recent checkin (r.831082) fixed a problem in which the exchange did not persist the alternate-exchange setting, and on recovery this was being lost. To fix it, an additional string was added to the Exchange::encode() and Exchange::decode() methods. However, this fix means that there is a binary incompatibility between pre- and post-fix exchange data. Attempting to recover stores from pre-fix brokers result in broker shutdown if recovery is attempted using post-fix brokers.

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


---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org


[jira] Resolved: (QPID-2278) Store recovery compatibility problem introduced by alternate-exchange fix

Posted by "Kim van der Riet (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-2278?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Kim van der Riet resolved QPID-2278.
------------------------------------

    Resolution: Fixed

Changing the order of the encoded items such that the alternate exchange is encoded last (after the args FieldTable) means that on decode, the broker can check for remaining bytes and decode the alternate-exchange name only if the string is present.

Fixed in r.890965

> Store recovery compatibility problem introduced by alternate-exchange fix
> -------------------------------------------------------------------------
>
>                 Key: QPID-2278
>                 URL: https://issues.apache.org/jira/browse/QPID-2278
>             Project: Qpid
>          Issue Type: Bug
>          Components: C++ Broker
>            Reporter: Kim van der Riet
>            Assignee: Kim van der Riet
>
> A recent checkin (r.831082) fixed a problem in which the exchange did not persist the alternate-exchange setting, and on recovery this was being lost. To fix it, an additional string was added to the Exchange::encode() and Exchange::decode() methods. However, this fix means that there is a binary incompatibility between pre- and post-fix exchange data. Attempting to recover stores from pre-fix brokers result in broker shutdown if recovery is attempted using post-fix brokers.

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


---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org


[jira] Reopened: (QPID-2278) Store recovery compatibility problem introduced by alternate-exchange fix

Posted by "Gordon Sim (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-2278?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Gordon Sim reopened QPID-2278:
------------------------------


A similar issue is still observable when the old store has queues defined in it.

> Store recovery compatibility problem introduced by alternate-exchange fix
> -------------------------------------------------------------------------
>
>                 Key: QPID-2278
>                 URL: https://issues.apache.org/jira/browse/QPID-2278
>             Project: Qpid
>          Issue Type: Bug
>          Components: C++ Broker
>            Reporter: Kim van der Riet
>            Assignee: Kim van der Riet
>
> A recent checkin (r.831082) fixed a problem in which the exchange did not persist the alternate-exchange setting, and on recovery this was being lost. To fix it, an additional string was added to the Exchange::encode() and Exchange::decode() methods. However, this fix means that there is a binary incompatibility between pre- and post-fix exchange data. Attempting to recover stores from pre-fix brokers result in broker shutdown if recovery is attempted using post-fix brokers.

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


---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org