qpid-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Gordon Sim <g...@redhat.com>
Subject Re: 0.5 C++ example listener hangs during testing
Date Thu, 06 Aug 2009 17:50:39 GMT
lroloson wrote:
> Carl, 
> I tried you experiment this AM, and basically - if I unplug the cable on the
> linux end, and kill the listener on the other end (today I was using a linux
> listener on a separate machine), it works fine. When I plug the cable back
> in (a couple minutes later) & restart the listener, all the messages come in
> order. 
> I repeated the same test without restarting the listener - I let it get in a
> loop where it tries to reconnect when the connection is broken. The
> connection is reestablished shortly after I plug the cable back in, and the
> messages are received out of order (same as before). Additionally - some of
> the messages do not get sent, I have to restart the client to get the
> missing messages ... they are all delivered, but it takes a reconnect and a
> restart to get them.

Looking at the '.reconnect' logs, the broker shows that messages 1 - 54 
were sent out on one connection of which the first 10 were acked; then 
55 - 200 were sent out on another connection; then 11 - 54 were sent on 
a third connection.

The broker logs the disconnection of the second of these connections 
just before the disconnection of the first connection which explains why 
messages 11-54 were not delivered to it - they were still 'locked' by 
the first connection. A third connection is then opened and it receives 
those messages, now requeued.

If you are able, I'd suggest trying the broker from trunk. The broker 
code has been modified since 0.5 such that it will detect the loss of 
the connection based on lack of heartbeats in the same way the client 
does and release the unacked messages.

With 0.5, if your client requests an exclusive subscription, then 
instead of getting messages delivered out of order in this case, you 
would get an error trying to resubscribe. That may (or may not!) be 
useful to you.

> I have copies of my clients log, showing the messages with time stamps and
> sequence numbers, I also have copies of the qpidd.log (I started a new one
> prior to each test). There are 4 logs in a file located here
> http://files.me.com/lroloson/mkkv3w (that link should point to a file called
> BrokerOrder.tgz). Please let me know if you have problems getting the logs. 
> thanks - Larry 

Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:users-subscribe@qpid.apache.org

View raw message