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=hide&sorter/order=DESC&sorter/field=priority&resolution=-1&pid=10003&fixfor=10000
<https://jira.amqp.org/jira/secure/IssueNavigator.jspa?reset=true&mode=hide&sorter/order=DESC&sorter/field=priority&resolution=-1&pid=10003&fixfor=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 <http://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:424_)
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:394_)
* *
*--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*
* *
*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.methodReceived(_ConnectionCloseMethodHandler.java:82_)
at
org.apache.qpid.client.state.AMQStateManager.methodReceived(_AMQStateManager.java:151_)
at
org.apache.qpid.client.protocol.AMQProtocolHandler$1.methodReceived(_AMQProtocolHandler.java:106_)
at
org.apache.qpid.client.protocol.AMQProtocolHandler.messageReceived(_AMQProtocolHandler.java:323_)
at
org.apache.mina.common.support.AbstractIoFilterChain$2.messageReceived(_AbstractIoFilterChain.java:189_)
at
org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(_AbstractIoFilterChain.java:502_)
at
org.apache.mina.common.support.AbstractIoFilterChain.access$1000(_AbstractIoFilterChain.java:52_)
at
org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(_AbstractIoFilterChain.java:777_)
at
org.apache.mina.filter.codec.support.SimpleProtocolDecoderOutput.flush(_SimpleProtocolDecoderOutput.java:60_)
at
org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(_ProtocolCodecFilter.java:185_)
at
org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(_AbstractIoFilterChain.java:502_)
at
org.apache.mina.common.support.AbstractIoFilterChain.access$1000(_AbstractIoFilterChain.java:52_)
at
org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(_AbstractIoFilterChain.java:777_)
at
org.apache.mina.filter.executor.ExecutorFilter.processEvent(_ExecutorFilter.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.methodReceived(_ConnectionCloseMethodHandler.java:82_)
at
org.apache.qpid.client.state.AMQStateManager.methodReceived(_AMQStateManager.java:151_)
at
org.apache.qpid.client.protocol.AMQProtocolHandler$1.methodReceived(_AMQProtocolHandler.java:106_)
at
org.apache.qpid.client.protocol.AMQProtocolHandler.messageReceived(_AMQProtocolHandler.java:323_)
at
org.apache.mina.common.support.AbstractIoFilterChain$2.messageReceived(_AbstractIoFilterChain.java:189_)
at
org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(_AbstractIoFilterChain.java:502_)
at
org.apache.mina.common.support.AbstractIoFilterChain.access$1000(_AbstractIoFilterChain.java:52_)
at
org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(_AbstractIoFilterChain.java:777_)
at
org.apache.mina.filter.codec.support.SimpleProtocolDecoderOutput.flush(_SimpleProtocolDecoderOutput.java:60_)
at
org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(_ProtocolCodecFilter.java:185_)
at
org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(_AbstractIoFilterChain.java:502_)
at
org.apache.mina.common.support.AbstractIoFilterChain.access$1000(_AbstractIoFilterChain.java:52_)
at
org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(_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(_ExecutorFilter.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*