Author |
Message
|
osullivj35 |
Posted: Tue Jan 13, 2009 4:13 am Post subject: MQ ports falling over after heavy usage |
|
|
Newbie
Joined: 13 Jan 2009 Posts: 6
|
Hi,
I have a websphere 5.1 application that is used by a mainframe application. The mainframe application uses MQ to communicate. There is a nightly process that makes about 8000 MQ calls, after which the MQ port on my websphere application stops working. The listener port and app needs to be restarted the next morning.
Does anyone have any idea why this may be happening?
Thanks
J |
|
Back to top |
|
 |
Vitor |
Posted: Tue Jan 13, 2009 4:21 am Post subject: Re: MQ ports falling over after heavy usage |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
osullivj35 wrote: |
Does anyone have any idea why this may be happening? |
What errors are present in the app server and/or queue manager logs? Are all the 8000 messages processed? What errors are generated if the listener and application are not restarted? _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
osullivj35 |
Posted: Tue Jan 13, 2009 4:32 am Post subject: |
|
|
Newbie
Joined: 13 Jan 2009 Posts: 6
|
Vitor,
Thanks for getting back to me. The 8000+ messages are processed ok before the crash, but there are a total of about 12000 to do. so there are 4000 undone.
The Mainframe app is getting 2033 errors as the port is down, I haven't managed to get any errors from the websphere logs. Where would the queue manager logs be located?
Thanks,
J |
|
Back to top |
|
 |
Vitor |
Posted: Tue Jan 13, 2009 4:43 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
osullivj35 wrote: |
Where would the queue manager logs be located?
|
Assuming this mainframe app is connected to a mainframe queue manager errors will be on the console; use whatever's normal for your site to obtain them. If it's connected to a distributed platform a) that could be your problem and b) the errors will be logged in the errors directory under the queue manager. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
RogerLacroix |
Posted: Tue Jan 13, 2009 11:08 am Post subject: |
|
|
 Jedi Knight
Joined: 15 May 2001 Posts: 3264 Location: London, ON Canada
|
osullivj35 wrote: |
The Mainframe app is getting 2033 errors as the port is down, I haven't managed to get any errors from the websphere logs. |
If the "port" was down, your application would get RC of 2009 or 2059 and not 2033. An RC of 2033 means (no message available), hence, MQ ("port") is working just fine.
My guess is that there is a bug in the application.
Regards,
Roger Lacroix
Capitalware Inc. _________________ Capitalware: Transforming tomorrow into today.
Connected to MQ!
Twitter |
|
Back to top |
|
 |
aditya.aggarwal |
Posted: Tue Jan 13, 2009 11:25 pm Post subject: |
|
|
 Master
Joined: 13 Jan 2009 Posts: 252
|
MQRC 2033 is all messages have been processed. But you are talking about 12000 messages and you have processed only 8000 message, so please check the DLQ, message may stucked there.. |
|
Back to top |
|
 |
exerk |
Posted: Wed Jan 14, 2009 2:43 am Post subject: |
|
|
 Jedi Council
Joined: 02 Nov 2006 Posts: 6339
|
aditya.aggarwal wrote: |
MQRC 2033 is all messages have been processed. But you are talking about 12000 messages and you have processed only 8000 message, so please check the DLQ, message may stucked there.. |
Strictly speaking MQRC 2033 means no messages available - which can mean zero queue depth, or no committed messages available, or no message meeting 'search' criteria, e.g. correlation ID. MQRC 2033 can still be returned with committed messages on the queue.
Also, if you read the post carefully osullivj35 states that the remaining messages are on are on the application queue, not the Dead-letter queue. _________________ It's puzzling, I don't think I've ever seen anything quite like this before...and it's hard to soar like an eagle when you're surrounded by turkeys. |
|
Back to top |
|
 |
zpat |
Posted: Wed Jan 14, 2009 3:27 am Post subject: |
|
|
 Jedi Council
Joined: 19 May 2001 Posts: 5866 Location: UK
|
Make sure the application uses MQGET with WAIT, otherwise it can empty the queue (2033) and terminate while there are still messages arriving over the channel from the other platform.
Obviously you don't want an indefinite wait, but either start the mainframe program when you are sure all the messages are on the mainframe queue or use MQGET with WAIT (with a suitable interval) to give the messages a chance to arrive.
Mainframe applications do not and cannot connect directly to other queue managers - they will always use a local mainframe queue manager. The distributed platform will use either a client connection or have a queue manager connection to the mainframe.
Make sure the channels are triggered and so forth. |
|
Back to top |
|
 |
|