Author |
Message
|
RudraHubli |
Posted: Wed May 27, 2015 4:24 am Post subject: MQGet node issue |
|
|
Apprentice
Joined: 18 Oct 2014 Posts: 28
|
Hi Experts,
we have response flow to pick up the response message from "Q1" using MQGET node bassed on correlation id but sometime flow not pickingup the messages from Q1 due to this messgaes are getting piledup in Q1.
if 1000 response messages are coming then aroud 5-10 messages are not getting processed.
Timeout value on the MQGET node is 5 sec and messages are coming before timeout period.
My analysis is :
-Message id sent in request is matching with correlation Id in response message
-Timeout value is 5 sec and and i can see mesages has recieved withing 1 sec.
-There is not way that requestor terminates before the response is received
Any idea what could be probelm/issue here and how to fix it??
Regards,
Rudra |
|
Back to top |
|
 |
Vitor |
Posted: Wed May 27, 2015 4:51 am Post subject: Re: MQGet node issue |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
RudraHubli wrote: |
Any idea what could be probelm/issue here and how to fix it?? |
Response is received but not committed within the 5 second window. So it arrives on the queue, counts towards the depth but isn't eligible to be read off. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
ganesh |
Posted: Wed May 27, 2015 8:22 am Post subject: |
|
|
Master
Joined: 18 Jul 2010 Posts: 294
|
Quote: |
if 1000 response messages are coming then aroud 5-10 messages are not getting processed. |
Do those 5-10 messages stay in the queue or do they expire? |
|
Back to top |
|
 |
RudraHubli |
Posted: Wed May 27, 2015 9:42 pm Post subject: |
|
|
Apprentice
Joined: 18 Oct 2014 Posts: 28
|
"Response is received but not committed within the 5 second window. So it arrives on the queue, counts towards the depth but isn't eligible to be read off "..... What does it mean??
Can you please elaborate more on it? what i have to do here as solution/fix? |
|
Back to top |
|
 |
vennela |
Posted: Thu May 28, 2015 12:41 am Post subject: |
|
|
 Jedi Knight
Joined: 11 Aug 2002 Posts: 4055 Location: Hyderabad, India
|
RudraHubli wrote: |
"Response is received but not committed within the 5 second window. So it arrives on the queue, counts towards the depth but isn't eligible to be read off "..... What does it mean??
Can you please elaborate more on it? what i have to do here as solution/fix? |
What it means is, the PUTting application is PUTting the messages in a transaction. So, the transaction has not completed.
For example, this is the sequence
1. Begin Transaction
2. PUT the message
3. Send e-mail
4. Commit the transaction
Now if the application is struck at step 3, the message is on the queue and it is shown in CURDEPTH, but not committed. Not committed means not available for GET yet.
You can browse the messages to see if this case is true
You can also see if there are any pending transactions (don't remember the command)
Hope this helps |
|
Back to top |
|
 |
RudraHubli |
Posted: Thu May 28, 2015 1:28 am Post subject: |
|
|
Apprentice
Joined: 18 Oct 2014 Posts: 28
|
Thanks for reply...i got it what is means.
Now suppose if i SET Timeout value on the MQGET node more than 5 sec will it work ?? (say 7 sec )
What is solution to this issue ? |
|
Back to top |
|
 |
iibmate |
Posted: Thu May 28, 2015 3:08 am Post subject: |
|
|
 Apprentice
Joined: 17 Mar 2015 Posts: 38 Location: Perth, WA
|
RudraHubli wrote: |
Now suppose if i SET Timeout value on the MQGET node more than 5 sec will it work ?? (say 7 sec )
What is solution to this issue ? |
Did you try this ? |
|
Back to top |
|
 |
RudraHubli |
Posted: Thu May 28, 2015 4:12 am Post subject: |
|
|
Apprentice
Joined: 18 Oct 2014 Posts: 28
|
"Now suppose if i SET Timeout value on the MQGET node more than 5 sec will it work ?? (say 7 sec "
Issue is in PROD so haven't tried it.. |
|
Back to top |
|
 |
Vitor |
Posted: Thu May 28, 2015 4:59 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
RudraHubli wrote: |
Now suppose if i SET Timeout value on the MQGET node more than 5 sec will it work ?? (say 7 sec ) |
How on earth can we know that? If the problem is that the response message is nto being committed and if the message is committed within 7 seconds then yes that will work. If either of those 2 assumptions is wrong then no it won't help at all.
RudraHubli wrote: |
What is solution to this issue ? |
The solution is as follows:
- find the root cause of this issue; we've provided one possible cause and one possible way to prove it (i.e. checking for uncommitted messages)
- design a solution to the issue
This is on you because we can't perform problem investigation on your site. Consider if we're right about the uncommitted messages but the reason they're uncommitted is because, under heavy load, the responding application doesn't complete the unit of work properly and never commits them. In that scenario, you can change anything you want at your end and it won't help.
RudraHubli wrote: |
Issue is in PROD so haven't tried it.. |
This is disingenuous. You can't fix the problem without trying something, and you can't make a change in PROD on the strength of a group of unaccountable and anonymous strangers on the Internet telling you this would work.
But if that's your basis for PROD change, I absolutely certify that changing the limit from 5 to 7 seconds will absolutely work and have no undesirable side effects (like something upstream with an SLA that relies on the response arriving in 5 seconds or less missing its SLA). Honest. Trust me. You've no idea who I am or how qualified I am, but you do know for sure that I know nothing about your environment or its requirements. So my advice is completely sound. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
rekarm01 |
Posted: Sat May 30, 2015 1:37 am Post subject: Re: MQGet node issue |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 1415
|
RudraHubli wrote: |
we have response flow to pick up the response message from "Q1" using MQGET node bassed on correlation id but sometime flow not pickingup the messages from Q1 due to this messgaes are getting piledup in Q1. |
If the MQGET node does not successfully retrieve a message from the queue, it will propagate to either the 'Warning', 'Failure', or 'No Message' terminal, or throw an exception. How does the message flow handle that? |
|
Back to top |
|
 |
|