You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Rob Godfrey (JIRA)" <ji...@apache.org> on 2015/02/20 19:25:11 UTC

[jira] [Commented] (QPID-6403) Frame 85 unknown to Qpid Broker

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

Rob Godfrey commented on QPID-6403:
-----------------------------------

This is not part of AMQP 0-9-1 (see http://www.amqp.org/specification/0-9-1/amqp-org-download for the official specification) but is a RabbitMQ extension (the page on the RabbitMQ site you reference is under "extensions").

Having said that, support was added for confirmations to the Java Broker in QPID-6164 which will be part of the 0.32 release which has just gone into Beta (get the beta binaries from https://dist.apache.org/repos/dist/dev/qpid/0.32-beta/ ).  I don't believe any other RabbitMQ extensions are currently supported nor do we have any plans to add them - so there may be other issues if using a client that uses non-standard AMQP.  

> Frame 85 unknown to Qpid Broker
> -------------------------------
>
>                 Key: QPID-6403
>                 URL: https://issues.apache.org/jira/browse/QPID-6403
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Broker
>    Affects Versions: 0.30
>         Environment: Debian, Java 1.7
>            Reporter: David Robertus
>            Priority: Blocker
>
> I have a Rabbit client tied to a QPID broker.  There appears to be a gap in the support of the Qpid broker for a 0.91 compliant frame.  This occurs when the "<channel>.confirmSelect()" method is called.  The AMQP spec appears to recognize this (here is the example in GO- https://github.com/streadway/amqp/blob/master/spec091.go) .
> Here is the Rabbit oage documenting the use: https://www.rabbitmq.com/confirms.html
> ---------------------------
> here is the stack trace.  I am creating a channel from a connection and attempting to set confirmSelect on it. 
> 2015-02-20 10:19:20,499 [] [] DEBUG org.apache.qpid.framing.FieldTable:writeToBuffer - FieldTable::writeToBuffer: Writing encoded length of 166...
> 2015-02-20 10:19:20,499 [] [] DEBUG org.apache.qpid.framing.FieldTable:writeToBuffer - {product=[LONG_STRING: qpid], version=[LONG_STRING: 0.30], qpid.build=[LONG_STRING: 1624307M], qpid.instance_name=[LONG_STRING: Broker], qpid.close_when_no_route=[LONG_STRING: true], qpid.message_compression_supported=[LONG_STRING: true]}
> 2015-02-20 10:19:20 ERROR AMQProtocolEngine:342 - Frame decoding
> org.apache.qpid.framing.AMQFrameDecodingException: Class 85 unknown in AMQP version 0-91 (while trying to decode class 85 method 10. [error code 503: command invalid]
> 	at org.apache.qpid.framing.amqp_0_91.MethodRegistry_0_91.convertToBody(MethodRegistry_0_91.java:172)
> 	at org.apache.qpid.framing.AMQMethodBodyFactory.createBody(AMQMethodBodyFactory.java:44)
> 	at org.apache.qpid.framing.AMQFrame.<init>(AMQFrame.java:45)
> 	at org.apache.qpid.framing.AMQDataBlockDecoder.createAndPopulateFrame(AMQDataBlockDecoder.java:104)
> 	at org.apache.qpid.codec.AMQDecoder.decodeBuffer(AMQDecoder.java:263)
> 	at org.apache.qpid.server.protocol.v0_8.AMQProtocolEngine$2.run(AMQProtocolEngine.java:306)
> 	at org.apache.qpid.server.protocol.v0_8.AMQProtocolEngine$2.run(AMQProtocolEngine.java:283)
> 	at java.security.AccessController.doPrivileged(Native Method)
> 	at javax.security.auth.Subject.doAs(Subject.java:356)
> 	at org.apache.qpid.server.protocol.v0_8.AMQProtocolEngine.received(AMQProtocolEngine.java:282)
> 	at org.apache.qpid.server.protocol.v0_8.AMQProtocolEngine.received(AMQProtocolEngine.java:89)
> 	at org.apache.qpid.server.protocol.MultiVersionProtocolEngine.received(MultiVersionProtocolEngine.java:133)
> 	at org.apache.qpid.server.protocol.MultiVersionProtocolEngine.received(MultiVersionProtocolEngine.java:49)
> 	at org.apache.qpid.transport.network.io.IoReceiver.run(IoReceiver.java:161)
> 	at java.lang.Thread.run(Thread.java:745)
> java.io.IOException
> 	at com.rabbitmq.client.impl.AMQChannel.wrap(AMQChannel.java:106)
> 	at com.rabbitmq.client.impl.AMQChannel.wrap(AMQChannel.java:102)
> 	at com.rabbitmq.client.impl.AMQChannel.exnWrappingRpc(AMQChannel.java:124)
> 	at com.rabbitmq.client.impl.ChannelN.confirmSelect(ChannelN.java:1166)
> 	at com.rabbitmq.client.impl.ChannelN.confirmSelect(ChannelN.java:61)
> 	at com.ecovate.ams.client.test.AMSTestClient.<init>(AMSTestClient.groovy:65)
> 	at com.ecovate.audio.management.AMSIntegTestFramework.createNewTestAMSClient(AMSIntegTestFramework.groovy:57)
> 	at com.ecovate.audio.management.RegistrationMessageIntegTest.user registration message sent to the AMS server from various clients with different credentials(RegistrationMessageIntegTest.groovy:30)
> Caused by: com.rabbitmq.client.ShutdownSignalException: connection error
> 	at com.rabbitmq.utility.ValueOrException.getValue(ValueOrException.java:67)
> 	at com.rabbitmq.utility.BlockingValueOrException.uninterruptibleGetValue(BlockingValueOrException.java:33)
> 	at com.rabbitmq.client.impl.AMQChannel$BlockingRpcContinuation.getReply(AMQChannel.java:343)
> 	at com.rabbitmq.client.impl.AMQChannel.privateRpc(AMQChannel.java:216)
> 	at com.rabbitmq.client.impl.AMQChannel.exnWrappingRpc(AMQChannel.java:118)
> 	... 5 more
> Caused by: java.io.EOFException
> 	at java.io.DataInputStream.readUnsignedByte(DataInputStream.java:290)
> 	at com.rabbitmq.client.impl.Frame.readFrom(Frame.java:95)
> 	at com.rabbitmq.client.impl.SocketFrameHandler.readFrame(SocketFrameHandler.java:139)
> 	at com.rabbitmq.client.impl.AMQConnection$MainLoop.run(AMQConnection.java:534)
> 	at java.lang.Thread.run(Thread.java:745)



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