I have seen similar problems (although no out of order messages so far).  I am 
testing on RHEL5.3 using the C++ API with a MessageReplayTracker to handle 
failover, and after a failover I am calling replay().

This scenario is a consumer consuming as fast as possible, a producer producing 
5k messages per second and a "service qpidd stop" on a the broker that both the 
producer and consumer are connected to.  Both clients seem to fail over very 
quickly to the other broker in the cluster, although the consumer is receiving 
duplicate messages.  There is a snippet from the sequence number log below.  Is 
this expected?

Thanks,
Wes

Consumer sequence nums:
<All messages 0...12844 are in order)
currentSequenceNum = 12845
currentSequenceNum = 12846
currentSequenceNum = 12847
Subscribe error: Connection closed
*** Resuming from failover! ***
currentSequenceNum = 12837
currentSequenceNum = 12838
currentSequenceNum = 12839
currentSequenceNum = 12840
currentSequenceNum = 12841
currentSequenceNum = 12842
currentSequenceNum = 12843
currentSequenceNum = 12844
currentSequenceNum = 12845
currentSequenceNum = 12846
currentSequenceNum = 12847
currentSequenceNum = 12848
currentSequenceNum = 12849
currentSequenceNum = 12850
<All messages 12850...N are in order)

-----Original Message-----
From: lroloson [mailto:lrolo...@trmi.com]
Sent: Thu 7/30/2009 9:10 AM
To: users@qpid.apache.org
Subject: Re: 0.5 C++ example listener hangs during testing
 

I have added some reconnect logic to the example listener that I am running
on windows, and now when the connection is broken the listener reconnects
and I can continue receiving messages. At this point I have not detected any
missing messages. I have received one duplicate message, but I believe that
is to be expected when I break the ethernet connection in the middle of
transmission. 

I also noticed that all the messages are delivered, however some are
delivered out of order. I have been testing with serialized messages, when
the connection remains constant - i get messages 1-10 in order. But, if the
connection is broken (lets say at message 3) - when I restore the connection
some time later -  I do not get 4, I get a message that was created later
(say 8 for example). The message delivery order becomes scrambled - lets say
1,2,3,8,9,4,5,6,7,10. Is there a way to get the messages to be delivered in
order?
-- 
View this message in context: 
http://n2.nabble.com/0.5-C%2B%2B-example-listener-hangs-during-testing-tp3344401p3356545.html
Sent from the Apache Qpid users mailing list archive at Nabble.com.

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



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

Reply via email to