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:[email protected]