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 (JIRA)" <qp...@incubator.apache.org> on 2010/02/25 16:50:27 UTC

[jira] Created: (QPID-2422) DerbyStore does not persist queue arguments

DerbyStore does not persist queue arguments
-------------------------------------------

                 Key: QPID-2422
                 URL: https://issues.apache.org/jira/browse/QPID-2422
             Project: Qpid
          Issue Type: Bug
          Components: Java Broker MessageStore - DerbyStore
    Affects Versions: 0.6
            Reporter: Robbie Gemmell


Whilst investigating enabling the tests in qpid/java/systests/src/main/java/org/apache/qpid/test/unit/ct/DurableSubscriberTest.java to run against the Java broker, it was observed (stacktrace below) that after restarting the broker it was not possible to recreate a durable subscription as the recovered queue had lost its exclusivity during the restart process, and the client connected via 0-91 was unable to redeclare the queue as a result of an exclusivity mismatch between the request and the existing queue. Investigating this suggests the cause to be that the DebyStore does not persist the queue arguments it is given.


Error registering consumer: org.apache.qpid.AMQChannelClosedException: Error: Cannot re-declare queue 'clientid:dursub' with different exclusivity (was: false requested true) [error code 405: Already exists] [error code 405: Already exists]
javax.jms.JMSException: Error registering consumer: org.apache.qpid.AMQChannelClosedException: Error: Cannot re-declare queue 'clientid:dursub' with different exclusivity (was: false requested true) [error code 405: Already exists] [error code 405: Already exists]
        at org.apache.qpid.client.AMQSession$4.execute(AMQSession.java:1800)
        at org.apache.qpid.client.AMQSession$4.execute(AMQSession.java:1744)
        at org.apache.qpid.client.AMQConnectionDelegate_8_0.executeRetrySupport(AMQConnectionDelegate_8_0.java:290)
        at org.apache.qpid.client.AMQConnection.executeRetrySupport(AMQConnection.java:765)
        at org.apache.qpid.client.failover.FailoverRetrySupport.execute(FailoverRetrySupport.java:102)
        at org.apache.qpid.client.AMQSession.createConsumerImpl(AMQSession.java:1742)
        at org.apache.qpid.client.AMQSession.createConsumer(AMQSession.java:911)
        at org.apache.qpid.client.AMQSession_0_8.createDurableSubscriber(AMQSession_0_8.java:502)
        at org.apache.qpid.client.AMQTopicSessionAdaptor.createDurableSubscriber(AMQTopicSessionAdaptor.java:73)
<snip>


-- 
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] Updated: (QPID-2422) DerbyStore does not persist queue exclusivity or arguments

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

Robbie Gemmell updated QPID-2422:
---------------------------------

    Status: Ready To Review  (was: In Progress)

> DerbyStore does not persist queue exclusivity or arguments
> ----------------------------------------------------------
>
>                 Key: QPID-2422
>                 URL: https://issues.apache.org/jira/browse/QPID-2422
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Broker MessageStore - DerbyStore
>    Affects Versions: M3, M4, 0.5, 0.6
>            Reporter: Robbie Gemmell
>            Assignee: Robbie Gemmell
>             Fix For: 0.7
>
>
> Whilst investigating enabling the tests in qpid/java/systests/src/main/java/org/apache/qpid/test/unit/ct/DurableSubscriberTest.java to run against the Java broker, it was observed (stacktrace below) that after restarting the broker it was not possible to recreate a durable subscription as the recovered queue had lost its exclusivity during the restart process, and the client connected via 0-91 was unable to redeclare the queue as a result of an exclusivity mismatch between the request and the existing queue. 
> Investigating this has found this to be bec ause we dont persist the queue exclusivity as set in the QueueDeclare body. The DebyStore also does not persist the queue arguments it is given.
> Error registering consumer: org.apache.qpid.AMQChannelClosedException: Error: Cannot re-declare queue 'clientid:dursub' with different exclusivity (was: false requested true) [error code 405: Already exists] [error code 405: Already exists]
> javax.jms.JMSException: Error registering consumer: org.apache.qpid.AMQChannelClosedException: Error: Cannot re-declare queue 'clientid:dursub' with different exclusivity (was: false requested true) [error code 405: Already exists] [error code 405: Already exists]
>         at org.apache.qpid.client.AMQSession$4.execute(AMQSession.java:1800)
>         at org.apache.qpid.client.AMQSession$4.execute(AMQSession.java:1744)
>         at org.apache.qpid.client.AMQConnectionDelegate_8_0.executeRetrySupport(AMQConnectionDelegate_8_0.java:290)
>         at org.apache.qpid.client.AMQConnection.executeRetrySupport(AMQConnection.java:765)
>         at org.apache.qpid.client.failover.FailoverRetrySupport.execute(FailoverRetrySupport.java:102)
>         at org.apache.qpid.client.AMQSession.createConsumerImpl(AMQSession.java:1742)
>         at org.apache.qpid.client.AMQSession.createConsumer(AMQSession.java:911)
>         at org.apache.qpid.client.AMQSession_0_8.createDurableSubscriber(AMQSession_0_8.java:502)
>         at org.apache.qpid.client.AMQTopicSessionAdaptor.createDurableSubscriber(AMQTopicSessionAdaptor.java:73)
> <snip>

-- 
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] Updated: (QPID-2422) DerbyStore does not persist queue exclusivity or arguments

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

Robbie Gemmell updated QPID-2422:
---------------------------------

              Summary: DerbyStore does not persist queue exclusivity or arguments  (was: DerbyStore does not persist queue arguments)
             Assignee: Robbie Gemmell
        Fix Version/s: 0.7
    Affects Version/s: 0.5
                       M4
                       M3
          Description: 
Whilst investigating enabling the tests in qpid/java/systests/src/main/java/org/apache/qpid/test/unit/ct/DurableSubscriberTest.java to run against the Java broker, it was observed (stacktrace below) that after restarting the broker it was not possible to recreate a durable subscription as the recovered queue had lost its exclusivity during the restart process, and the client connected via 0-91 was unable to redeclare the queue as a result of an exclusivity mismatch between the request and the existing queue. 

Investigating this has found this to be bec ause we dont persist the queue exclusivity as set in the QueueDeclare body. The DebyStore also does not persist the queue arguments it is given.


Error registering consumer: org.apache.qpid.AMQChannelClosedException: Error: Cannot re-declare queue 'clientid:dursub' with different exclusivity (was: false requested true) [error code 405: Already exists] [error code 405: Already exists]
javax.jms.JMSException: Error registering consumer: org.apache.qpid.AMQChannelClosedException: Error: Cannot re-declare queue 'clientid:dursub' with different exclusivity (was: false requested true) [error code 405: Already exists] [error code 405: Already exists]
        at org.apache.qpid.client.AMQSession$4.execute(AMQSession.java:1800)
        at org.apache.qpid.client.AMQSession$4.execute(AMQSession.java:1744)
        at org.apache.qpid.client.AMQConnectionDelegate_8_0.executeRetrySupport(AMQConnectionDelegate_8_0.java:290)
        at org.apache.qpid.client.AMQConnection.executeRetrySupport(AMQConnection.java:765)
        at org.apache.qpid.client.failover.FailoverRetrySupport.execute(FailoverRetrySupport.java:102)
        at org.apache.qpid.client.AMQSession.createConsumerImpl(AMQSession.java:1742)
        at org.apache.qpid.client.AMQSession.createConsumer(AMQSession.java:911)
        at org.apache.qpid.client.AMQSession_0_8.createDurableSubscriber(AMQSession_0_8.java:502)
        at org.apache.qpid.client.AMQTopicSessionAdaptor.createDurableSubscriber(AMQTopicSessionAdaptor.java:73)
<snip>


  was:
Whilst investigating enabling the tests in qpid/java/systests/src/main/java/org/apache/qpid/test/unit/ct/DurableSubscriberTest.java to run against the Java broker, it was observed (stacktrace below) that after restarting the broker it was not possible to recreate a durable subscription as the recovered queue had lost its exclusivity during the restart process, and the client connected via 0-91 was unable to redeclare the queue as a result of an exclusivity mismatch between the request and the existing queue. Investigating this suggests the cause to be that the DebyStore does not persist the queue arguments it is given.


Error registering consumer: org.apache.qpid.AMQChannelClosedException: Error: Cannot re-declare queue 'clientid:dursub' with different exclusivity (was: false requested true) [error code 405: Already exists] [error code 405: Already exists]
javax.jms.JMSException: Error registering consumer: org.apache.qpid.AMQChannelClosedException: Error: Cannot re-declare queue 'clientid:dursub' with different exclusivity (was: false requested true) [error code 405: Already exists] [error code 405: Already exists]
        at org.apache.qpid.client.AMQSession$4.execute(AMQSession.java:1800)
        at org.apache.qpid.client.AMQSession$4.execute(AMQSession.java:1744)
        at org.apache.qpid.client.AMQConnectionDelegate_8_0.executeRetrySupport(AMQConnectionDelegate_8_0.java:290)
        at org.apache.qpid.client.AMQConnection.executeRetrySupport(AMQConnection.java:765)
        at org.apache.qpid.client.failover.FailoverRetrySupport.execute(FailoverRetrySupport.java:102)
        at org.apache.qpid.client.AMQSession.createConsumerImpl(AMQSession.java:1742)
        at org.apache.qpid.client.AMQSession.createConsumer(AMQSession.java:911)
        at org.apache.qpid.client.AMQSession_0_8.createDurableSubscriber(AMQSession_0_8.java:502)
        at org.apache.qpid.client.AMQTopicSessionAdaptor.createDurableSubscriber(AMQTopicSessionAdaptor.java:73)
<snip>



> DerbyStore does not persist queue exclusivity or arguments
> ----------------------------------------------------------
>
>                 Key: QPID-2422
>                 URL: https://issues.apache.org/jira/browse/QPID-2422
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Broker MessageStore - DerbyStore
>    Affects Versions: M3, M4, 0.5, 0.6
>            Reporter: Robbie Gemmell
>            Assignee: Robbie Gemmell
>             Fix For: 0.7
>
>
> Whilst investigating enabling the tests in qpid/java/systests/src/main/java/org/apache/qpid/test/unit/ct/DurableSubscriberTest.java to run against the Java broker, it was observed (stacktrace below) that after restarting the broker it was not possible to recreate a durable subscription as the recovered queue had lost its exclusivity during the restart process, and the client connected via 0-91 was unable to redeclare the queue as a result of an exclusivity mismatch between the request and the existing queue. 
> Investigating this has found this to be bec ause we dont persist the queue exclusivity as set in the QueueDeclare body. The DebyStore also does not persist the queue arguments it is given.
> Error registering consumer: org.apache.qpid.AMQChannelClosedException: Error: Cannot re-declare queue 'clientid:dursub' with different exclusivity (was: false requested true) [error code 405: Already exists] [error code 405: Already exists]
> javax.jms.JMSException: Error registering consumer: org.apache.qpid.AMQChannelClosedException: Error: Cannot re-declare queue 'clientid:dursub' with different exclusivity (was: false requested true) [error code 405: Already exists] [error code 405: Already exists]
>         at org.apache.qpid.client.AMQSession$4.execute(AMQSession.java:1800)
>         at org.apache.qpid.client.AMQSession$4.execute(AMQSession.java:1744)
>         at org.apache.qpid.client.AMQConnectionDelegate_8_0.executeRetrySupport(AMQConnectionDelegate_8_0.java:290)
>         at org.apache.qpid.client.AMQConnection.executeRetrySupport(AMQConnection.java:765)
>         at org.apache.qpid.client.failover.FailoverRetrySupport.execute(FailoverRetrySupport.java:102)
>         at org.apache.qpid.client.AMQSession.createConsumerImpl(AMQSession.java:1742)
>         at org.apache.qpid.client.AMQSession.createConsumer(AMQSession.java:911)
>         at org.apache.qpid.client.AMQSession_0_8.createDurableSubscriber(AMQSession_0_8.java:502)
>         at org.apache.qpid.client.AMQTopicSessionAdaptor.createDurableSubscriber(AMQTopicSessionAdaptor.java:73)
> <snip>

-- 
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