Author |
Message
|
wese345 |
Posted: Wed May 07, 2014 10:46 pm Post subject: messages not pass through message flow |
|
|
Novice
Joined: 05 Aug 2013 Posts: 21
|
Hi, everyone
I met a strange situation while I run LoadRunner to test my message flow. There are always few messages stay in the queue and not picked up by message flow. So these messages stay here until the EG or broker restart.(the machine can not respond so frequently? )
Does anyone met this situation before?
Although I can dev another msflow to fix the problem,I still want to know WHY.
The running WMB is 8.0 and MQ is 7.5.
Wishing for an answer, thanks. |
|
Back to top |
|
 |
Esa |
Posted: Wed May 07, 2014 11:17 pm Post subject: Re: messages not pass through message flow |
|
|
 Grand Master
Joined: 22 May 2008 Posts: 1387 Location: Finland
|
wese345 wrote: |
I met a strange situation while I run LoadRunner to test my message flow. There are always few messages stay in the queue and not picked up by message flow. So these messages stay here until the EG or broker restart.(the machine can not respond so frequently? ) |
You need to elaborate.
This is a Message Broker/IIB forum and we are not supposed to know how third party software like LoadRunner work. So some words about your setup would be helpful.
Do you run the flow with additional instances? How many?
Some messages stay in the queue? How do you detect that? Are they the last messages of a batch or for example messages 5, 18, 21?
So the messages dissappear from the queue if you restart the EG? Can you find them in the input queues backout queue or the queue managers DLQ?
So you can just restart the EG without having to kill the process?
Does your flow have any loops? |
|
Back to top |
|
 |
wese345 |
Posted: Thu May 08, 2014 7:55 pm Post subject: |
|
|
Novice
Joined: 05 Aug 2013 Posts: 21
|
Thanks for your reply, Esa.
Maybe others never met this situation before. But I must test the performance and LR is just a right one.
So,for your question:
Quote: |
Do you run the flow with additional instances? How many? |
No , the addtional instance is 0, BUT I set up 2 execution groups and I deploy the same bar file into these EGs.
Quote: |
Some messages stay in the queue? How do you detect that? Are they the last messages of a batch or for example messages 5, 18, 21? |
After the test was running completely, I refreshed the MQ Explorer and found that some messages stay here. They have no order and I don't even use 'batch setting' in MQ.
But, after I restart the EG, the message flow immediately picked up these messages and I can even get response from the remote app.
I really don't know whether it is my message flow that causes the problem for it has no loop exactly.
Still thanks for your reply to tell me about these tips. |
|
Back to top |
|
 |
Esa |
Posted: Fri May 09, 2014 12:00 am Post subject: |
|
|
 Grand Master
Joined: 22 May 2008 Posts: 1387 Location: Finland
|
wese345 wrote: |
After the test was running completely, I refreshed the MQ Explorer and found that some messages stay here. They have no order and I don't even use 'batch setting' in MQ. |
With 'batch' I mean the set of request messages that LoadRunner sent.
After the test was run completely, did LoadRunner get all requested responses or were some of them missing?
Does the MQ Input node have 'Browse only' checked in the 'Advanced' tab?
wese345 wrote: |
I can even get response from the remote app |
How does the flow call the remote app? MQ? http? SOAP? FTP? Have you wired the timeout terminal?
Describe how the flow handles exceptions. |
|
Back to top |
|
 |
Tibor |
Posted: Fri May 09, 2014 3:07 am Post subject: Re: messages not pass through message flow |
|
|
 Grand Master
Joined: 20 May 2001 Posts: 1033 Location: Hungary
|
wese345 wrote: |
I met a strange situation while I run LoadRunner to test my message flow. There are always few messages stay in the queue and not picked up by message flow. ...
Does anyone met this situation before? |
Yes. A possible scenario:
- MQInput property: All messages avaliable is on
- your messages are in a grouping or segmentation, and there is no last message. |
|
Back to top |
|
 |
fjb_saper |
Posted: Fri May 09, 2014 4:47 am Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
Load Runner has not yet committed the last batch of messages?  _________________ MQ & Broker admin |
|
Back to top |
|
 |
wese345 |
Posted: Mon May 12, 2014 11:33 pm Post subject: |
|
|
Novice
Joined: 05 Aug 2013 Posts: 21
|
Thank you for your replies,guys.
Sorry to late to review the messages.
Quote: |
After the test was run completely, did LoadRunner get all requested responses or were some of them missing? |
Cool! You know what? We tested many times and found that each complete test had the problem--some of the requests made by LR were missing. We thought it maybe our application couldn't response so frequently. So it is not the reason that we guess?
Quote: |
Does the MQ Input node have 'Browse only' checked in the 'Advanced' tab? |
Yes,I checked the MQ Input node 'Browse only' option and 'MQGet' the message later in the message flow. In order to resolution different message,I have to use 'filter' to get one message and parse it by the right parser. Does the problem happen here?
Finally,we transform the messages to the remote QM which application listens on. If the messages reach the target QM,the app can response for this message.
And Tibor,thank you.
The scenario you metioned here are not the cause for we didn't make this setting in our dev.
Thanks you again. For your tips,I got a direction to check my work. |
|
Back to top |
|
 |
Esa |
Posted: Tue May 13, 2014 1:12 am Post subject: |
|
|
 Grand Master
Joined: 22 May 2008 Posts: 1387 Location: Finland
|
wese345 wrote: |
Yes,I checked the MQ Input node 'Browse only' option and 'MQGet' the message later in the message flow. In order to resolution different message,I have to use 'filter' to get one message and parse it by the right parser. Does the problem happen here?
|
Very likely. If your flow fails to get the message, it will stay in the input queue because the browse cursor has passed it.
The fact that you have two flows in separate execution groups browsing the queue makes it even more complicated. Both flows have their own browse cursors, which means that they both might be browsing and processing the same message in parallel. Depending on what the endpoint system does with the messages, you might occasionally see double entries in the database, for example.
I think you should rethink your design. I don't think you need to browse and then get the messages. But I must admit that I don't understand what you mean with this:
wese345 wrote: |
In order to resolution different message,I have to use 'filter' to get one message and parse it by the right parser.
|
|
|
Back to top |
|
 |
wese345 |
Posted: Fri May 16, 2014 1:13 am Post subject: |
|
|
Novice
Joined: 05 Aug 2013 Posts: 21
|
Thank you,Esa.
Quote: |
The fact that you have two flows in separate execution groups browsing the queue makes it even more complicated. Both flows have their own browse cursors, which means that they both might be browsing and processing the same message in parallel. Depending on what the endpoint system does with the messages, you might occasionally see double entries in the database, for example. |
So there might be problem here in my message flow.
I now make 3 different message flows to deal with different messages,and not use 'MQGet' . They work fine.
Thank you anyway for your explaination.You help me a lot.  |
|
Back to top |
|
 |
|