[jboss-user] [Messaging, JMS & JBossMQ] - Re: different order between sending and receiving(FIFO)

garneke do-not-reply at jboss.com
Tue Dec 4 17:06:33 EST 2007

If anyone can help me I would appreciate it.  

I have re-run my testing with some jboss server side logging enabled.  I have also included some logging to let me know when the receiving Client experiences a timeout on the receive(2000) call.  It times out more often that I would expect considering the fact that there is no lack of messages to read, but that could be associated with general house cleaning, etc. 

The following is an snippet from my simple client log indicating that right after the client timed out on a receive(2000) call and subsequently paused for .25 of a second before calling receive again it read the wrong message.  As you can see the JMS Msg ID: 1-1196727135200779567 was received about 6 messages late...

  | 0:12:14 11/4/2007) Correct --  serial:[41553] MsgID:[1-1196727134895779565]
  | 0:12:15 11/4/2007) Correct --  serial:[41554] MsgID:[1-1196727135077779566]
  | 0:12:17 11/4/2007) (2) Sec TIMEOUT -- Delay .25 Secs,  prev:[1-1196727135077779566]
  | 0:12:20 11/4/2007) Wrong --  serial:[41556] MsgID:[1-1196727135337779568]
  | 0:12:20 11/4/2007) Correct --  serial:[41557] MsgID:[1-1196727135484779569]
  | 0:12:20 11/4/2007) Correct --  serial:[41558] MsgID:[1-1196727135686779570]
  | 0:12:20 11/4/2007) Correct --  serial:[41559] MsgID:[1-1196727135792779571]
  | 0:12:20 11/4/2007) Correct --  serial:[41560] MsgID:[1-1196727136006779572]
  | 0:12:20 11/4/2007) Correct --  serial:[41561] MsgID:[1-1196727136131779573]
  | 0:12:20 11/4/2007) Wrong --  serial:[41555] MsgID:[1-1196727135200779567]
  | 0:12:20 11/4/2007) Wrong --  serial:[41562] MsgID:[1-1196727136262779574]
  | 0:12:20 11/4/2007) Correct --  serial:[41563] MsgID:[1-1196727136444779575]
  | 0:12:20 11/4/2007) Correct --  serial:[41564] MsgID:[1-1196727136657779576]
  | 0:12:20 11/4/2007) Correct --  serial:[41565] MsgID:[1-1196727136778779577]

It is important to Note:  Although I had quite a few "Timeouts" I did not receive a message in the wrong order after every timeout.  However, for each message that was out of order it was ALWAYS directly after a "Timeout" of the receive(2000).  I have varied my subsequent delay after a receive() times out ranging from .125 - .5 seconds.  Without fixing the problem!  Do I need to pause in the order of multiple seconds?

The following is a snippet from the jboss server logs indicated the basic queue activity at the time of the error.  It also shows that the message in question was delivered late.  However, it shows an interesting "NACK" to its  Acknowledgment.  The simple client that I use is set to read with Client Acknowledgment and I only ACK successful receives.  In other words, I do not have any NACK code on my side.  Again, I am using a default installation of 4.2.2GA with the exception that my db is mysql.  I have added this log entry as an image because it is so large...


Thanks In Advance!

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4110354#4110354

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4110354

More information about the jboss-user mailing list