the C++ broker uses the wrong exception type when clients try to modify the 
default exchange
--------------------------------------------------------------------------------------------

                 Key: QPID-3443
                 URL: https://issues.apache.org/jira/browse/QPID-3443
             Project: Qpid
          Issue Type: Bug
          Components: C++ Broker
    Affects Versions: 0.13
            Reporter: Robbie Gemmell
             Fix For: Future


Various test cases in AddressBasedDestinationTest are failing on the C++ test 
profiles, due to an exception being returned indicating the client tried to 
modify the default exchange. The exception is a NOT_ALLOWED, but the 0-10 spec 
says this should be met with an ILLEGAL_ARGUMENT exception.

Eg:


Testcase: testDestinationOnSend took 0.207 sec
        Caused an ERROR
Error registering consumer: org.apache.qpid.AMQException: ch=0 id=0 
ExecutionException(errorCode=NOT_ALLOWED, commandId=4, classCode=7, 
commandCode=4, fieldI
ndex=0, description=not-allowed: Bind not allowed for default exchange 
(qpid/broker/Broker.cpp:920), errorInfo={}) [error code 530: not allowed]
javax.jms.JMSException: Error registering consumer: 
org.apache.qpid.AMQException: ch=0 id=0 
ExecutionException(errorCode=NOT_ALLOWED, commandId=4, classCode=
7, commandCode=4, fieldIndex=0, description=not-allowed: Bind not allowed for 
default exchange (qpid/broker/Broker.cpp:920), errorInfo={}) [error code 530: n
ot allowed]
        at org.apache.qpid.client.AMQSession$4.execute(AMQSession.java:2057)
        at org.apache.qpid.client.AMQSession$4.execute(AMQSession.java:2000)
        at 
org.apache.qpid.client.AMQConnectionDelegate_0_10.executeRetrySupport(AMQConnectionDelegate_0_10.java:325)
        at 
org.apache.qpid.client.AMQConnection.executeRetrySupport(AMQConnection.java:570)
        at 
org.apache.qpid.client.failover.FailoverRetrySupport.execute(FailoverRetrySupport.java:102)
        at 
org.apache.qpid.client.AMQSession.createConsumerImpl(AMQSession.java:1998)
        at org.apache.qpid.client.AMQSession.createConsumer(AMQSession.java:971)
        at 
org.apache.qpid.test.client.destination.AddressBasedDestinationTest.testDestinationOnSend(AddressBasedDestinationTest.java:1119)
        at 
org.apache.qpid.test.utils.QpidBrokerTestCase.runBare(QpidBrokerTestCase.java:243)
        at org.apache.qpid.test.utils.QpidTestCase.run(QpidTestCase.java:128)
Caused by: org.apache.qpid.AMQException: ch=0 id=0 
ExecutionException(errorCode=NOT_ALLOWED, commandId=4, classCode=7, 
commandCode=4, fieldIndex=0, descripti
on=not-allowed: Bind not allowed for default exchange 
(qpid/broker/Broker.cpp:920), errorInfo={}) [error code 530: not allowed]
        at 
org.apache.qpid.client.AMQSession_0_10.setCurrentException(AMQSession_0_10.java:1058)
        at 
org.apache.qpid.client.AMQSession_0_10.sync(AMQSession_0_10.java:1038)
        at 
org.apache.qpid.client.AMQSession_0_10.sendQueueBind(AMQSession_0_10.java:377)
        at org.apache.qpid.client.AMQSession$2.execute(AMQSession.java:678)
        at 
org.apache.qpid.client.failover.FailoverNoopSupport.execute(FailoverNoopSupport.java:67)
        at org.apache.qpid.client.AMQSession.bindQueue(AMQSession.java:674)
        at 
org.apache.qpid.client.AMQSession.registerConsumer(AMQSession.java:2854)
        at org.apache.qpid.client.AMQSession.access$500(AMQSession.java:120)
        at org.apache.qpid.client.AMQSession$4.execute(AMQSession.java:2034)



--
This message is automatically generated by JIRA.
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-subscr...@qpid.apache.org

Reply via email to