qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Keith Wall (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (QPID-6066) AMQSession#getQueueDepth() fails against pre 0.30 java brokers
Date Wed, 03 Sep 2014 08:07:52 GMT

    [ https://issues.apache.org/jira/browse/QPID-6066?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14119520#comment-14119520
] 

Keith Wall edited comment on QPID-6066 at 9/3/14 8:07 AM:
----------------------------------------------------------

The changes made by QPID-6037 have exposed an defect in earlier versions of the Java Broker:
 namely the inability to enquire if a queue is bound to the default exchange (in other words
- check if the queue exists).  QPID-6037 changed the client to check for the existence of
the queue (using exchange.bound) before checking the queue depth.  This causes Java Brokers
<= 0.28 to fail with the above stack trace.

As AMQSession#getQueueDepth is not part of the core API (not part of JMS), the decision is
made to add a system property to the Java Client so that the call to exchange.bound can be
omitted.  It is expected that this workaround will be seldom needed in practice.  This system
property will only have effect on the 0-8..0-9-1 path.  0-10 is unaffected.


was (Author: k-wall):
The changes made by QPID-6037 have exposed an defect in earlier versions of the Java Broker:
 namely the inability to enquire if a queue is bound to the default exchange (in other words
- check if the queue exists).  QPID-6037 changed the client to check for the existence of
the queue (using exchange.bound) before checking the queue depth.  This causes Java Brokers
<= 0.28 to fail with the above stack trace.

As AMQSession#getQueueDepth is not part of the core API (not part of JMS), the decision is
made to add a system property to the Java Client so that the call to exchange.bound can be
omitted.  It is expected that this workaround will be seldom needed in practice.

> AMQSession#getQueueDepth() fails against pre 0.30 java brokers
> --------------------------------------------------------------
>
>                 Key: QPID-6066
>                 URL: https://issues.apache.org/jira/browse/QPID-6066
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Broker, Java Client
>    Affects Versions: 0.30
>            Reporter: Keith Wall
>             Fix For: 0.31
>
>
> When I try to enquire queue depth using the non-JMS API (AMQSession#getQueueDepth())
against a pre 0.30 Java Broker using the 0-8..0-9-1 protocol, the call ends with the following
exception.
> {noformat}
> 2014-09-02 09:03:42,147 ERROR [IoReceiver - /127.0.0.1:59381] (protocol.AMQProtocolEngine)
- Unexpected exception while processing frame.   Closing connection. org.apache.qpid.AMQException:
Exchange exchange must not be null at 
> org.apache.qpid.server.handler.ExchangeBoundHandler.methodReceived(ExchangeBoundHandler.java:89)
at 
> org.apache.qpid.server.handler.ServerMethodDispatcherImpl.dispatchExchangeBound(ServerMethodDispatcherImpl.java:458)
at 
> org.apache.qpid.framing.amqp_0_9.ExchangeBoundBodyImpl.execute(ExchangeBoundBodyImpl.java:130)
at 
> org.apache.qpid.server.state.AMQStateManager.methodReceived(AMQStateManager.java:120)
at 
> org.apache.qpid.server.protocol.AMQProtocolEngine.methodFrameReceived(AMQProtocolEngine.java:569)
at 
> org.apache.qpid.framing.AMQMethodBodyImpl.handle(AMQMethodBodyImpl.java:97) at 
> org.apache.qpid.server.protocol.AMQProtocolEngine.frameReceived(AMQProtocolEngine.java:433)
at 
> org.apache.qpid.server.protocol.AMQProtocolEngine.dataBlockReceived(AMQProtocolEngine.java:356)
at 
> org.apache.qpid.server.protocol.AMQProtocolEngine.received(AMQProtocolEngine.java:277)
at 
> org.apache.qpid.server.protocol.AMQProtocolEngine.received(AMQProtocolEngine.java:103)
at 
> org.apache.qpid.server.protocol.MultiVersionProtocolEngine.received(MultiVersionProtocolEngine.java:118)
at 
> org.apache.qpid.server.protocol.MultiVersionProtocolEngine.received(MultiVersionProtocolEngine.java:37)
at 
> org.apache.qpid.transport.network.io.IoReceiver.run(IoReceiver.java:161) at java.lang.Thread.run(Thread.java:745)
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org


Mime
View raw message