Author |
Message
|
smeunier |
Posted: Fri Jan 23, 2004 7:43 am Post subject: Message Flow not processing |
|
|
 Partisan
Joined: 19 Aug 2002 Posts: 305 Location: Green Mountains of Vermont
|
I know this sounds like an elementary problem, but I''ve burned a few brain cells trying to debug this. Perhaps a fresh look will help.
I have deployed a message flow and a subflow to a version 2.1 WMQI broker on AIX running MQSeries 5.3.04 with AIX level 5.1.0 The message flow sits in a unique Execution group by itself. I write messages to the Queue being monitored by the Mainflow, but they do not get processed.
I have verified and reverified and cut and paste the Queue name in the MQInput Node to insure that the name is correct and there is not a typo, as this seems to be the obvious place where a problem would occur. No luck.
I have validated that the ExecutionGroup has started.
I have insured that the Message Flow and ExecutionGroup has started MEssage Flow processing.
I have checked all MQ Error logs and the Brokers syslog. Nothing!
I have tried running user traces, but since the messages are not being received, no tracing informations is being recorded.
There is every indication, that the message flow is not monitoring the queue.
I'm at a total loose as to how to debug this. HELP!!!!!!! |
|
Back to top |
|
 |
jefflowrey |
Posted: Fri Jan 23, 2004 8:46 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
Is the input queue open for input? (Have an OpenInputCount > 0)
If not, then your message flow is not listening to the queue.
If yes, then your message flow is probably looping trying to process the first message in the queue. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
smeunier |
Posted: Fri Jan 23, 2004 10:43 am Post subject: |
|
|
 Partisan
Joined: 19 Aug 2002 Posts: 305 Location: Green Mountains of Vermont
|
With 8 messages in the queue, here is where the Queue the message flow would be listening to:
Code: |
DISTL(NO) DEFTYPE(PREDEFINED)
TYPE(QLOCAL) SCOPE(QMGR)
DEFBIND(OPEN) IPPROCS(1)
OPPROCS(0) CURDEPTH(8)
|
If the message flow was looping, then wouldn't I be able to generate some trace data? |
|
Back to top |
|
 |
kirani |
Posted: Fri Jan 23, 2004 11:04 am Post subject: |
|
|
Jedi Knight
Joined: 05 Sep 2001 Posts: 3779 Location: Torrance, CA, USA
|
Where do you get these messages from? Are these messages commited? Remember, if the messages are not commited they will still be counted against Queue depth.
If your message flow was looping then you would not be able to shut-down the EG/Broker or execute any request (deploy, enable/disable trace) against it. _________________ Kiran
IBM Cert. Solution Designer & System Administrator - WBIMB V5
IBM Cert. Solutions Expert - WMQI
IBM Cert. Specialist - WMQI, MQSeries
IBM Cert. Developer - MQSeries
|
|
Back to top |
|
 |
smeunier |
Posted: Fri Jan 23, 2004 11:30 am Post subject: |
|
|
 Partisan
Joined: 19 Aug 2002 Posts: 305 Location: Green Mountains of Vermont
|
The messages come from a remote Queue Manager(remoteQ to LocalQ). he messages are committed. I can read them off with another application.
There is no problem stopping the Execution Group or Broker, so i don't beleive the message flow is looping. This same message flow woorks fine on NT instance. I also have another message flow, which process just fine within the same ExecutionGroup. If the Queue Definition on the MQInput node was incorrect, then I should see an error in the syslog file. So it appears to me, that the message flow is not being started by the broker, and thus is not servicing messages from that queue. Is there a way to tell if the Message flow is active and running? |
|
Back to top |
|
 |
jefflowrey |
Posted: Fri Jan 23, 2004 11:33 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
smeunier wrote: |
If the message flow was looping, then wouldn't I be able to generate some trace data? |
You've got an Open Input Count (IPPROCS). So that means that your flow is listening to the queue, and therefore is probably looping.
You might not be able to generate any trace data, however. It depends on how you're doing the tracing. If you're using a trace node, then this in fact could be causing the looping.
It would cause the looping in the following way: MQInput--failure-->Trace.
If the Trace node pattern includes ${Root}, then you will get a loop if the message can't be parsed. The message will flow down the --out--> terminal path until it starts to get parsed (or immediately, if you've set up the Input node to validate). Then the parsing will fail, and the message will go to the failure terminal - which hits the trace node and tries to parse the message. Which causes a failure. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
fschofer |
Posted: Mon Jan 26, 2004 3:24 am Post subject: |
|
|
 Knight
Joined: 02 Jul 2001 Posts: 524 Location: Mainz, Germany
|
How do you have done your user trace ?
Please, try this:
Stop the broker (wait till its really stopped)
Empty the input queue
Start the broker
Turn on 'debug' trace for your message flow
=> mqsichangetrace <BR name> -u -e <EG name> -f <Flow name> -l debug -r -c 5000
Put a message to your input queue
Read the trace
=> mqsireadlog <BR name> -u -e <EG name> -f -o log.dat
=> mqsiformatlog -i log.dat -o log.txt |
|
Back to top |
|
 |
|