Hi Carl, Thanks for these links. They provide me all the things I was looking for. Like a bullet list of changes proposed for 0-10 and the current state of the 0-10 draft, etc. I'm trying to figure out how some things work and their scope in the protocol like reliable messaging, transaction processing, etc.
I would like to get your take on the following issue: So, I'm still trying to understand. There seems to be reliability missing in the protocol. The protocol supports acknowledgements from the consumer to the queue but there are no acks from the queue/broker back to the publisher in any of the schemes (store-forward, pub-sub, etc). I mean, for example, the publisher sends a series of 10K messages to the broker and one message gets dropped/lost in the network before reaching the broker. The publisher will not get an ack and the broker will never know the message was supposed to come. I suppose this issue will be taken care of by 0-10. I wanted to know what the proposal for reliable messaging is for 0-10 as well as the scope of the changes (say, is it going to effect all types of messaging, P2P, Pub-sub, etc) and how? Thanks. Regards, Tanmay ________________________________ From: Carl Trieloff [mailto:[EMAIL PROTECTED] Sent: Wednesday, August 22, 2007 10:25 AM To: Goel, Tanmay Subject: Re: Problems while trying interoperability Tanmay, 0-10 is not released yet, we are in the process of completing it for release. It will be a few more weeks until all the work has been merged into the docs, this can be seen by looking at which JIRA's are in 'Done' state versus those that are in 'incorporation' which means they are with our editors. The XML for 0-10 can be found here: https://svn.amqp.org/amqp/trunk/amqp_spec/amqp.xml The JIRA, of all the changes and the doc as it is being merged can be found here https://svn.amqp.org/amqp/trunk/amqp_spec/amqp-spec-0-10-working.html https://jira.amqp.org/jira/secure/IssueNavigator.jspa?reset=true&mode=hi de&sorter/order=DESC&sorter/field=priority&resolution=-1&pid=10003&fixfo r=10000 or just http://jira.amqp.org There seems to be an issue with one of the DNS servers for the site, if you have issues accessing it set the following 209.132.176.191 svn.amqp.org 209.132.176.191 jira.amqp.org 209.132.176.191 www.amqp.org Regards Carl. Goel, Tanmay wrote: Dear Carl, I'm currently working with 0.9 version of the spec that is available online. Is the 0.10 version released already? Can you tell me where I can download it from? Or if you can email it to me, that'll be great. Thanks for your help, Tanmay ________________________________ From: Carl Trieloff [mailto:[EMAIL PROTECTED] Sent: Thursday, August 16, 2007 6:51 AM To: Goel, Tanmay Subject: Re: Problems while trying interoperability Tammy, this might help you, http://rhm.et.redhat.com/page/Getting_Started_With_RHM - clean good builds from M2 of qpid. I see that the .NET client is not linked - these are all from M2 and AMQP 0-8 compliant and should interop with each other. The trunk of the project is being moved to 0-10, so I would wait a few weeks for that work to complete before trying to do interop on that . This is the code that we are tuning and updating with the Intel HPC lab for a 0-10 release. It is taking big steps forward every week in terms of performance and functionality If there is any info you need, please feel free to mail me regards, Carl. Goel, Tanmay wrote: Hi, I have started working with AMQP recently. Right now I am conducting some basic experiments with interoperability among the various implementations but haven't received any positive results yet. For example, when I try to run a RabbitMQ client (attached, SimpleProducer.java) against Qpid broker (with the default configuration provided when I first downloaded it, no change), I get the following exception. The exception is thrown on this like of code: int ticket = ch.accessRequest("/test"); Intuitively, this method is not provided by the Qpid broker. Is it? Also, there is no "client-name" passed as a parameter at the time of establishing connection to the RabbitMQ connection constructor but is passed to the Qpid connection constructor. If and how will this effect? ------------------------------------------------------------------------ ------------------------------------------------------------------------ ------------------------------------------------------------------------ -------- AMQConnection.mainLoop: connection close Main thread caught exception: java.io.IOException java.io.IOException at com.rabbitmq.client.impl.AMQChannel.wrap(AMQChannel.java:112) at com.rabbitmq.client.impl.AMQChannel.exnWrappingRpc(AMQChannel.java:126) at com.rabbitmq.client.impl.ChannelN.accessRequest(ChannelN.java:326) at com.rabbitmq.client.impl.ChannelN.accessRequest(ChannelN.java:309) at com.rabbitmq.examples.SimpleProducer.main(SimpleProducer.java:44) Caused by: com.rabbitmq.client.ShutdownSignalException (connection error; reason: java.io.EOFException) at com.rabbitmq.client.impl.AMQConnection.shutdown(AMQConnection.java:536) at com.rabbitmq.client.impl.AMQConnection$MainLoop.run(AMQConnection.java:4 24) Caused by: java.io.EOFException at java.io.DataInputStream.readUnsignedByte(Unknown Source) at com.rabbitmq.client.impl.Frame.readFrom(Frame.java:105) at com.rabbitmq.client.impl.SocketFrameHandler.readFrame(SocketFrameHandler .java:119) at com.rabbitmq.client.impl.AMQConnection.readFrame(AMQConnection.java:277) at com.rabbitmq.client.impl.AMQConnection$MainLoop.run(AMQConnection.java:3 94) ------------------------------------------------------------------------ ------------------------------------------------------------------------ ------------------------------------------------------------------------ -------- Alternatively, when I tried to run a Qpid client against a RabbitMQ broker (again, with the default settings, virtual hosts, etc). I got the following error message at the first line of code: _connection = new AMQConnection("localhost", 5672, "guest", "guest", "clientid", "/data"); ------------------------------------------------------------------------ ------------------------------------------------------------------------ ------------------------------------------------------------------------ -------- main 2007-08-15 17:30:36,519 INFO [apache.qpid.client.AMQConnection] Connection:amqp://guest:[EMAIL PROTECTED]/data?brokerlist='tcp://localhost: 5672' main 2007-08-15 17:30:36,597 WARN [qpid.client.transport.TransportConnection] Using Mina NIO main 2007-08-15 17:30:36,612 INFO [qpid.client.transport.SocketTransportConnection] send-buffer-size = 32768 main 2007-08-15 17:30:36,612 INFO [qpid.client.transport.SocketTransportConnection] recv-buffer-size = 32768 main 2007-08-15 17:30:36,628 INFO [qpid.client.transport.SocketTransportConnection] Attempting connection to localhost/127.0.0.1:5672 AnonymousIoService-2 2007-08-15 17:30:36,831 INFO [qpid.client.security.CallbackHandlerRegistry] Available SASL mechanisms: CRAM-MD5 PLAIN AnonymousIoService-4 2007-08-15 17:30:36,847 INFO [qpid.client.handler.ConnectionCloseMethodHandler] ConnectionClose frame received AnonymousIoService-4 2007-08-15 17:30:36,847 INFO [qpid.client.handler.ConnectionCloseMethodHandler] Connection close received with error code 403 main 2007-08-15 17:30:36,847 INFO [apache.qpid.client.AMQConnection] Unable to connect to broker at tcp://localhost:5672 AnonymousIoService-4 2007-08-15 17:30:36,847 INFO [qpid.client.protocol.AMQProtocolHandler] Exception caught therefore going to attempt failover: org.apache.qpid.AMQConnectionClosedException: Error: ACCESS_REFUSED [error code 403] org.apache.qpid.AMQConnectionClosedException: Error: ACCESS_REFUSED [error code 403] at org.apache.qpid.client.handler.ConnectionCloseMethodHandler.methodReceiv ed(ConnectionCloseMethodHandler.java:82) at org.apache.qpid.client.state.AMQStateManager.methodReceived(AMQStateMana ger.java:151) at org.apache.qpid.client.protocol.AMQProtocolHandler$1.methodReceived(AMQP rotocolHandler.java:106) at org.apache.qpid.client.protocol.AMQProtocolHandler.messageReceived(AMQPr otocolHandler.java:323) at org.apache.mina.common.support.AbstractIoFilterChain$2.messageReceived(A bstractIoFilterChain.java:189) at org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageRece ived(AbstractIoFilterChain.java:502) at org.apache.mina.common.support.AbstractIoFilterChain.access$1000(Abstrac tIoFilterChain.java:52) at org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.message Received(AbstractIoFilterChain.java:777) at org.apache.mina.filter.codec.support.SimpleProtocolDecoderOutput.flush(S impleProtocolDecoderOutput.java:60) at org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(Protoco lCodecFilter.java:185) at org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageRece ived(AbstractIoFilterChain.java:502) at org.apache.mina.common.support.AbstractIoFilterChain.access$1000(Abstrac tIoFilterChain.java:52) at org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.message Received(AbstractIoFilterChain.java:777) at org.apache.mina.filter.executor.ExecutorFilter.processEvent(ExecutorFilt er.java:243) at org.apache.mina.filter.executor.ExecutorFilter$ProcessEventsRunnable.run (ExecutorFilter.java:305) at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker .runTask(ThreadPoolExecutor.java:665) at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker .run(ThreadPoolExecutor.java:690) at java.lang.Thread.run(Unknown Source) AnonymousIoService-4 2007-08-15 17:30:36,847 INFO [qpid.client.protocol.AMQProtocolHandler] Session closed called with failover state currently FailoverState: NOT STARTED AnonymousIoService-4 2007-08-15 17:30:36,847 INFO [qpid.client.protocol.AMQProtocolHandler] FAILOVER STARTING AnonymousIoService-4 2007-08-15 17:30:36,847 INFO [qpid.client.protocol.AMQProtocolHandler] Protocol Session [EMAIL PROTECTED] closed Failover 2007-08-15 17:30:36,847 INFO [qpid.client.failover.FailoverHandler] Starting failover process Failover 2007-08-15 17:30:36,847 WARN [qpid.client.transport.TransportConnection] Using Mina NIO Failover 2007-08-15 17:30:36,847 INFO [qpid.client.transport.SocketTransportConnection] send-buffer-size = 32768 Failover 2007-08-15 17:30:36,847 INFO [qpid.client.transport.SocketTransportConnection] recv-buffer-size = 32768 Failover 2007-08-15 17:30:36,847 INFO [qpid.client.transport.SocketTransportConnection] Attempting connection to localhost/127.0.0.1:5672 AnonymousIoService-4 2007-08-15 17:30:36,847 INFO [qpid.client.protocol.AMQProtocolHandler] Session closed called with failover state currently FailoverState: IN PROGRESS AnonymousIoService-4 2007-08-15 17:30:36,847 INFO [qpid.client.protocol.AMQProtocolHandler] Failover not allowed by policy. AnonymousIoService-4 2007-08-15 17:30:36,847 INFO [qpid.client.protocol.AMQProtocolHandler] sessionClose() failover in progress AnonymousIoService-4 2007-08-15 17:30:36,847 INFO [qpid.client.protocol.AMQProtocolHandler] Protocol Session [EMAIL PROTECTED] closed AnonymousIoService-8 2007-08-15 17:30:36,862 INFO [qpid.client.handler.ConnectionCloseMethodHandler] ConnectionClose frame received AnonymousIoService-8 2007-08-15 17:30:36,862 INFO [qpid.client.handler.ConnectionCloseMethodHandler] Connection close received with error code 403 Failover 2007-08-15 17:30:36,862 INFO [apache.qpid.client.AMQConnection] Error: ACCESS_REFUSED [error code 403]:Unable to connect to broker at tcp://localhost:5672 AnonymousIoService-8 2007-08-15 17:30:36,862 INFO [qpid.client.protocol.AMQProtocolHandler] Session closed called with failover state currently FailoverState: IN PROGRESS AnonymousIoService-8 2007-08-15 17:30:36,862 INFO [qpid.client.protocol.AMQProtocolHandler] Failover not allowed by policy. AnonymousIoService-8 2007-08-15 17:30:36,862 INFO [qpid.client.protocol.AMQProtocolHandler] sessionClose() failover in progress AnonymousIoService-8 2007-08-15 17:30:36,862 INFO [qpid.client.protocol.AMQProtocolHandler] Protocol Session [EMAIL PROTECTED] closed Failover 2007-08-15 17:30:36,862 INFO [apache.qpid.client.AMQConnection] Closing AMQConnection due to :Server closed connection and no failover was successful org.apache.qpid.AMQConnectionClosedException: Error: ACCESS_REFUSED [error code 403] at org.apache.qpid.client.handler.ConnectionCloseMethodHandler.methodReceiv ed(ConnectionCloseMethodHandler.java:82) at org.apache.qpid.client.state.AMQStateManager.methodReceived(AMQStateMana ger.java:151) at org.apache.qpid.client.protocol.AMQProtocolHandler$1.methodReceived(AMQP rotocolHandler.java:106) at org.apache.qpid.client.protocol.AMQProtocolHandler.messageReceived(AMQPr otocolHandler.java:323) at org.apache.mina.common.support.AbstractIoFilterChain$2.messageReceived(A bstractIoFilterChain.java:189) at org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageRece ived(AbstractIoFilterChain.java:502) at org.apache.mina.common.support.AbstractIoFilterChain.access$1000(Abstrac tIoFilterChain.java:52) at org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.message Received(AbstractIoFilterChain.java:777) at org.apache.mina.filter.codec.support.SimpleProtocolDecoderOutput.flush(S impleProtocolDecoderOutput.java:60) at org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(Protoco lCodecFilter.java:185) at org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageRece ived(AbstractIoFilterChain.java:502) at org.apache.mina.common.support.AbstractIoFilterChain.access$1000(Abstrac tIoFilterChain.java:52) at org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.message Received(AbstractIoFilterChain.java:777)main 2007-08-15 17:30:36,956 ERROR [qpid.example.publisher.Publisher] org.apache.qpid.AMQConnectionClosedException: Error: ACCESS_REFUSED [error code 403] at org.apache.mina.filter.executor.ExecutorFilter.processEvent(ExecutorFilt er.java:243) at org.apache.mina.filter.executor.ExecutorFilter$ProcessEventsRunnable.run (ExecutorFilter.java:305) at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker .runTask(ThreadPoolExecutor.java:665) at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker .run(ThreadPoolExecutor.java:690) at java.lang.Thread.run(Unknown Source) main 2007-08-15 17:30:36,956 ERROR [qpid.example.publisher.FileMessageDispatcher] Error trying to dispatch message: java.lang.NullPointerException ------------------------------------------------------------------------ ------------------------------------------------------------------------ ------------------------------------------------------------------------ -------- Any suggestions that I can try out to make the interoperability work? Thanks. Regards, Tanmay
