[ 
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: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to