Author |
Message
|
thindk00 |
Posted: Wed Jan 04, 2006 11:39 am Post subject: Messages delivered out of sync |
|
|
Voyager
Joined: 16 May 2001 Posts: 75 Location: UK
|
Hi,
We have an application that is sending thousands of messages to a remote queue, across a channel to another queue manager. All messages are using the same message priority and are being committed as they are put (this doesn't use the MQBEGIN, etc API's). They are processed on the remote queue manager as soon as they become available (i.e. delivered).
We have always had the messages being processed in the correct order (i.e. the order in that they are being put on the queue) by the remote application. Up until recently, that is. Recently we have seen randomly that one or two of the messages appear out of sequence. We have not made any configuration changes and there haven't been any changes in volumes. Strange.
We logged a call with IBM and they have told us that the order is not guaranteed and that we would need to code around this in a distributed queueing environment. I find it difficult to believe that this has been working fine for a year and now it doesn't and we need to consider making coding changes.
We don't use Dead Letter Queues on our queue managers and use the same message priorities on each message, is there something we can configure to ensure that messages are sent and read in the correct order. Has anyone seen this before?
I'd also be interested to know how WMQ could change the order for these messages.
Thanks in advance,
Kulbir. |
|
Back to top |
|
 |
jefflowrey |
Posted: Wed Jan 04, 2006 11:48 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
|
Back to top |
|
 |
thindk00 |
Posted: Wed Jan 04, 2006 11:52 am Post subject: Thanks |
|
|
Voyager
Joined: 16 May 2001 Posts: 75 Location: UK
|
thank you for this. All our messages are persistent as well. I notice this is a WMQ 6 manual, we're running on WMQ 5.3 and I wouldn't think that this would be a new feature as we've been using and relying on this for at least a year now. |
|
Back to top |
|
 |
jefflowrey |
Posted: Wed Jan 04, 2006 12:00 pm Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
Here's the same link for the same info in the v5.3 Intercommunications Manual
http://publibfp.boulder.ibm.com/epubs/html/csqzae09/csqzae091a.htm#HDRSEREME
Are you positive that the messages that are out of order are persistant?
Are you positive that it's a random event.. it's not related to a special case within the application logic? _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
fjb_saper |
Posted: Wed Jan 04, 2006 2:39 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
And are you positive that all the message attributes are the same ?
Especially same origin and originating qmgr, application etc... Put with the same options... _________________ MQ & Broker admin |
|
Back to top |
|
 |
thindk00 |
Posted: Thu Jan 05, 2006 12:17 am Post subject: |
|
|
Voyager
Joined: 16 May 2001 Posts: 75 Location: UK
|
Yes, positive that all messages are persistent and also have inspected the code for the sending and receiving applications to ensure that they are not doing anything out of the ordinary when processing messages.
The Application Programming Guide (Section titled Priority within ""The order in which messages are retrieved from a queue") suggests that the sequence is only assured for applications using the same queue manager.
However, as you've pointed out, the Intercommunication guide shows that sequencing can be achieved as long as certain conditions are met (we're meeting those) |
|
Back to top |
|
 |
thindk00 |
Posted: Thu Jan 05, 2006 12:50 am Post subject: |
|
|
Voyager
Joined: 16 May 2001 Posts: 75 Location: UK
|
Messages all have same attributes and options specified when being sent. They are being sent by the same application from the same queue manager.
Are other people relying upon WMQ to deliver messages across queue managers in the order that they are being sent in without using Grouping functions that were introduced in WMQ v5?
TIA. |
|
Back to top |
|
 |
PeterPotkay |
Posted: Thu Jan 05, 2006 9:15 am Post subject: |
|
|
 Poobah
Joined: 15 May 2001 Posts: 7722
|
How do you *****know***** they are delevired out of order? Maybe the putting app is putting them "out of order"?
Unless you log the order they are leaving QM1 and compare it to the order they are arriving at QM2, I find it more likely that the putting app is at fault, rather than MQ, given the details so far. _________________ Peter Potkay
Keep Calm and MQ On |
|
Back to top |
|
 |
thindk00 |
Posted: Thu Jan 05, 2006 9:37 am Post subject: |
|
|
Voyager
Joined: 16 May 2001 Posts: 75 Location: UK
|
As far as we can tell the sending application is putting the messages to the transmission queue in the correct order. We're doing further tests using just a point to point connection between the source and destination queue managers, browsing messages at the source's transmission queue and destination's input queue to see if we can prove that the order is being scrambled.
We had a call with IBM today and they have stated that even if we follow all the steps in the Intercommunication guide to ensure the sequence is correct (same priority, persistence, etc), WMQ will not guarantee that the messages are delivered in the correct sequence as the network could re-route individual messages in flight. We only have a single path through the network and nothing has changed so cannot work out why the messages are being delivered out of sync.
Are other people relying upon messages to be delivered in sync that have experienced this issue? |
|
Back to top |
|
 |
PeterPotkay |
Posted: Thu Jan 05, 2006 9:44 am Post subject: |
|
|
 Poobah
Joined: 15 May 2001 Posts: 7722
|
thindk00 wrote: |
We had a call with IBM today and they have stated that even if we follow all the steps in the Intercommunication guide to ensure the sequence is correct (same priority, persistence, etc), WMQ will not guarantee that the messages are delivered in the correct sequence as the network could re-route individual messages in flight. |
A SNDR MCA does not just spray persistent message into the ether and hope they make it to the other side. Sequence #s anyone? I don't know how they can make that claim. (Then again, I have had PMRs where I ended up explaining how things work. What are you gonna do - sometimes you get a new employee working with you).
Or, I may be misinformed on this subject. I agree with you that if all the rules are followed, message order should be guaranteed in such a simple set up.
I also would still bet that MQ is delivering the messages in the order the putter is putting them. _________________ Peter Potkay
Keep Calm and MQ On |
|
Back to top |
|
 |
mrlinux |
Posted: Thu Jan 05, 2006 9:47 am Post subject: |
|
|
 Grand Master
Joined: 14 Feb 2002 Posts: 1261 Location: Detroit,MI USA
|
I wuld also make sure the commit logic is correct, this is the only thing I see from the description that could cause issues. _________________ Jeff
IBM Certified Developer MQSeries
IBM Certified Specialist MQSeries
IBM Certified Solutions Expert MQSeries |
|
Back to top |
|
 |
jefflowrey |
Posted: Thu Jan 05, 2006 9:48 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
thindk00 wrote: |
We're doing further tests using just a point to point connection between the source and destination queue managers |
I'm sorry.
The rules mentioned *only apply* with a point-to-point connection.
If you're making multiple hops or if you're going through a cluster, the conditions stated in the documentation I linked to don't apply. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
thindk00 |
Posted: Thu Jan 05, 2006 9:56 am Post subject: |
|
|
Voyager
Joined: 16 May 2001 Posts: 75 Location: UK
|
Yes I agree that the messages should make it across in the correct order. I've been using this product now for nearly 10 years and have never seen these messages arrive out of sequence.
The commit's for the messages are being done as they are being put onto the queue.
The message does go from qm to qm to qm, etc, but I would argue that the conditions are being preserved for each hop. The interesting point you made in the last response was that this doesn't apply to clustered environments. One of the hops is from a qm to another qm using WMQ clustering, however there is only possible path through the WMQ cluster. WMQ clustering is only being used to ease administration not provide load balancing. |
|
Back to top |
|
 |
|