Posted: Wed Mar 24, 2010 5:58 am Post subject: Setting order mode to by user ID in MQInputNode
Voyager
Joined: 10 Mar 2005 Posts: 76
Hi,
I ran into an odd situation which I had to resolve with a development team. They had, I eventually figured, specified "by User ID" for the order mode property on their MQInputNode. They then supplied a barfile which specified multiple instances. Upon exception in their flow the flow ceased to process any more messages and inspecting MQ showed there was an uncommitted message.
To recover I had to initiate a stop on the message flow then kill the execution group process which allowed the process to respawn with the flow in a stopped state and the uncommitted message back on the Input Queue. Changing OrderMode to default resolves their particular issue and I believe they set it inadvertantly...but I wasn't expecting this behaviour.
I recreated the problem with a very simple flow
MQInputNode -> MQOutput and a throw connected to the catch terminal. IN queue defined with Backout threshold set to 2 and a requeue queue was also defined.
Output queue not defined (hence an exception).
Order mode set to By User ID as described and 2 instances of the flow specified via the barfile.
Can anyone explain why this would halt all processing of this flow even with a single message. If a second message comes onto the queue the second instance of the flow doesn't pick it up (I assume because the flow is trying to guarantee order). I think that the InputNode is not committing the backout of the message and have raised a PMR because frankly I am stumped.
I ran tracing (user trace) and it shows the message rolling back, going down the catch, being retrhown, then no more activity or exceptions.
Broker 6.1.0.5, MQ 6.0.2.8, problem exists in AIX and Windows
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum