Bug 730977
Summary: | java client fails to resolve target when assert is used in the address string | ||
---|---|---|---|
Product: | Red Hat Enterprise MRG | Reporter: | Petr Matousek <pematous> |
Component: | qpid-java | Assignee: | messaging-bugs <messaging-bugs> |
Status: | NEW --- | QA Contact: | MRG Quality Engineering <mrgqe-bugs> |
Severity: | high | Docs Contact: | |
Priority: | medium | ||
Version: | 2.0 | CC: | jross, mtoth, zkraus |
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | Type: | --- | |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
Petr Matousek
2011-08-16 12:57:44 UTC
Hi Rajith, we have found another wrong behavior in asserts and update to original bugzilla. Update: 1) ./run_example.sh org.apache.qpid.example.Spout "amq.direct; { assert: always, node: { type: topic }}" {} Exception in thread "main" javax.jms.JMSException: Error creating producer at org.apache.qpid.client.AMQSession.toJMSException(AMQSession.java:3468) at org.apache.qpid.client.AMQSession_0_10.createMessageProducer(AMQSession_0_10.java:694) at org.apache.qpid.client.AMQSession_0_10.createMessageProducer(AMQSession_0_10.java:88) at org.apache.qpid.client.AMQSession$7.execute(AMQSession.java:2593) at org.apache.qpid.client.AMQSession$7.execute(AMQSession.java:2584) at org.apache.qpid.client.AMQConnectionDelegate_0_10.executeRetrySupport(AMQConnectionDelegate_0_10.java:371) at org.apache.qpid.client.AMQConnection.executeRetrySupport(AMQConnection.java:624) at org.apache.qpid.client.failover.FailoverRetrySupport.execute(FailoverRetrySupport.java:102) at org.apache.qpid.client.AMQSession.createProducerImpl(AMQSession.java:2582) at org.apache.qpid.client.AMQSession.createProducer(AMQSession.java:1164) at org.apache.qpid.client.AMQSession.createProducer(AMQSession.java:98) at org.apache.qpid.example.Spout.<init>(Spout.java:91) at org.apache.qpid.example.Spout.main(Spout.java:147) Caused by: org.apache.qpid.AMQException: Exception occured while verifying destination at org.apache.qpid.client.BasicMessageProducer_0_10.declareDestination(BasicMessageProducer_0_10.java:95) at org.apache.qpid.client.BasicMessageProducer.<init>(BasicMessageProducer.java:136) at org.apache.qpid.client.BasicMessageProducer_0_10.<init>(BasicMessageProducer_0_10.java:64) at org.apache.qpid.client.AMQSession_0_10.createMessageProducer(AMQSession_0_10.java:689) ... 11 more Caused by: org.apache.qpid.AMQException: Assert failed for address : 'amq.direct'/None; { 'assert': 'always', 'node': { 'type': 'topic' } }, Result was : ExchangeQueryResult(type=direct, durable=true, arguments={qpid.replicate=none}) at org.apache.qpid.client.AMQSession_0_10.isExchangeExist(AMQSession_0_10.java:1122) at org.apache.qpid.client.AMQSession_0_10.resolveAddress(AMQSession_0_10.java:1252) at org.apache.qpid.client.BasicMessageProducer_0_10.declareDestination(BasicMessageProducer_0_10.java:89) ... 14 more When we assert a queue with provided queue arguments, java client ends with error code. Steps to reproduce 1) qpid-config add queue my_q --argument qpid.auto_delete_timeout=30 2) java -cp $CLASSPATH -Dlog4j.configuration=log4j.properties org.apache.qpid.example.qc2_connector --broker localhost:5672 --connection-options "{ sasl_mechanisms : 'ANONYMOUS', protocol : 'amqp0-10' }" -a "my_q;{'assert': 'always'}" --obj-ctrl CER javax.jms.JMSException: Error registering consumer: org.apache.qpid.AMQException: Assert failed for address : 'my_q'/None; { 'assert': 'always' }, Result was : QueueQueryResult(queue=my_q, alternateExchange=, autoDelete=true, arguments={qpid.auto_delete_timeout=30}, messageCount=0, subscriberCount=0) at org.apache.qpid.client.AMQSession.toJMSException(AMQSession.java:3468) at org.apache.qpid.client.AMQSession$4.execute(AMQSession.java:2021) at org.apache.qpid.client.AMQSession$4.execute(AMQSession.java:1973) at org.apache.qpid.client.AMQConnectionDelegate_0_10.executeRetrySupport(AMQConnectionDelegate_0_10.java:371) at org.apache.qpid.client.AMQConnection.executeRetrySupport(AMQConnection.java:624) at org.apache.qpid.client.failover.FailoverRetrySupport.execute(FailoverRetrySupport.java:102) at org.apache.qpid.client.AMQSession.createConsumerImpl(AMQSession.java:1971) at org.apache.qpid.client.AMQSession.createConsumer(AMQSession.java:939) at org.apache.qpid.example.qc2_connector.<init>(qc2_connector.java:223) at org.apache.qpid.example.qc2_connector.main(qc2_connector.java:283) Caused by: org.apache.qpid.AMQException: Assert failed for address : 'my_q'/None; { 'assert': 'always' }, Result was : QueueQueryResult(queue=my_q, alternateExchange=, autoDelete=true, arguments={qpid.auto_delete_timeout=30}, messageCount=0, subscriberCount=0) at org.apache.qpid.client.AMQSession_0_10.isQueueExist(AMQSession_0_10.java:1150) at org.apache.qpid.client.AMQSession_0_10.resolveAddress(AMQSession_0_10.java:1236) at org.apache.qpid.client.AMQSession.registerConsumer(AMQSession.java:2842) at org.apache.qpid.client.AMQSession.access$400(AMQSession.java:98) at org.apache.qpid.client.AMQSession$4.execute(AMQSession.java:1998) ... 8 more javax.jms.JMSException: Error registering consumer: org.apache.qpid.AMQException: Assert failed for address : 'my_q'/None; { 'assert': 'always' }, Result was : QueueQueryResult(queue=my_q, alternateExchange=, autoDelete=true, arguments={qpid.auto_delete_timeout=30}, messageCount=0, subscriberCount=0) or 2) using example clients ./run_example.sh org.apache.qpid.example.Spout "my_q; { assert: always}" {} Exception in thread "main" javax.jms.JMSException: Error creating producer at org.apache.qpid.client.AMQSession.toJMSException(AMQSession.java:3468) at org.apache.qpid.client.AMQSession_0_10.createMessageProducer(AMQSession_0_10.java:694) at org.apache.qpid.client.AMQSession_0_10.createMessageProducer(AMQSession_0_10.java:88) at org.apache.qpid.client.AMQSession$7.execute(AMQSession.java:2593) at org.apache.qpid.client.AMQSession$7.execute(AMQSession.java:2584) at org.apache.qpid.client.AMQConnectionDelegate_0_10.executeRetrySupport(AMQConnectionDelegate_0_10.java:371) at org.apache.qpid.client.AMQConnection.executeRetrySupport(AMQConnection.java:624) at org.apache.qpid.client.failover.FailoverRetrySupport.execute(FailoverRetrySupport.java:102) at org.apache.qpid.client.AMQSession.createProducerImpl(AMQSession.java:2582) at org.apache.qpid.client.AMQSession.createProducer(AMQSession.java:1164) at org.apache.qpid.client.AMQSession.createProducer(AMQSession.java:98) at org.apache.qpid.example.Spout.<init>(Spout.java:91) at org.apache.qpid.example.Spout.main(Spout.java:147) Caused by: org.apache.qpid.AMQException: Exception occured while verifying destination at org.apache.qpid.client.BasicMessageProducer_0_10.declareDestination(BasicMessageProducer_0_10.java:95) at org.apache.qpid.client.BasicMessageProducer.<init>(BasicMessageProducer.java:136) at org.apache.qpid.client.BasicMessageProducer_0_10.<init>(BasicMessageProducer_0_10.java:64) at org.apache.qpid.client.AMQSession_0_10.createMessageProducer(AMQSession_0_10.java:689) ... 11 more Caused by: org.apache.qpid.AMQException: Assert failed for address : 'my_q'/None; { 'assert': 'always' }, Result was : QueueQueryResult() at org.apache.qpid.client.AMQSession_0_10.isQueueExist(AMQSession_0_10.java:1150) at org.apache.qpid.client.AMQSession_0_10.resolveAddress(AMQSession_0_10.java:1236) at org.apache.qpid.client.BasicMessageProducer_0_10.declareDestination(BasicMessageProducer_0_10.java:89) ... 14 more Actual result: Error is thrown Expected result Assert passes. Tested with qpid-java-example-0.22-8.el6.noarch qpid-java-client-0.22-8.el6.noarch qpid-java-common-0.22-8.el6.noarch |