ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » General IBM MQ Support » Could Client Channels be the issue?

Post new topic  Reply to topic
 Could Client Channels be the issue? « View previous topic :: View next topic » 
Author Message
sandy_harry
PostPosted: Mon Apr 03, 2006 12:00 pm    Post subject: Could Client Channels be the issue? Reply with quote

Newbie

Joined: 29 Jun 2005
Posts: 8
Location: Portsmouth, NH

Hi,
I have started this new thread on request. The problem I have is similar to the one reporterd in http://www.mqseries.net/phpBB2/viewtopic.php?p=130902#130902. Here is my story:

I have 2 MQ client channels defined to 2 different QManagers from my WAS 5.0 node. Listener ports are defined on the WAS nodes for the 2 queues on these remote QManagers. The app servers restart at 3:00 am every morning, but at times there is no message sent from the 2 remote QManagers till about 11:30 am. When the first message arrives, I get the following exception trace in my SystemOut.Logs:

[4/3/06 11:26:13:700 EDT] 21e32ac2 JMSExceptionL E WMSG0018E: Error on JMSConnection for MDB CCOFeedMDB , JMSDestination jms/CCORequestQ : javax.jms.JMSException: MQJMS2002: failed to get message from MQ queue
at com.ibm.mq.jms.services.ConfigEnvironment.newException(ConfigEnvironment.java(Inlined Compiled Code))
at com.ibm.mq.jms.MQSession.consume(MQSession.java(Compiled Code))
at com.ibm.mq.jms.MQSession.run(MQSession.java(Compiled Code))
at com.ibm.ejs.jms.JMSSessionHandle.run(JMSSessionHandle.java:923)
at com.ibm.ejs.jms.listener.ServerSession.connectionConsumerOnMessage(ServerSession.java:697)
at com.ibm.ejs.jms.listener.ServerSession.onMessage(ServerSession.java:482)
at com.ibm.ejs.jms.listener.ServerSession.dispatch(ServerSession.java:449)
at java.lang.reflect.Method.invoke(Native Method)
at com.ibm.ejs.jms.listener.ServerSessionDispatcher.dispatch(ServerSessionDispatcher.java:37)
at com.ibm.ejs.container.MDBWrapper.onMessage(MDBWrapper.java:91)
at com.ibm.ejs.container.MDBWrapper.onMessage(MDBWrapper.java:127)
at com.ibm.ejs.jms.listener.ServerSession.run(ServerSession.java:372)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:672)
---- Begin backtrace for Nested Throwables
com.ibm.mq.MQException: MQJE001: Completion Code 2, Reason 2009
at com.ibm.mq.jms.MQSession.consume(MQSession.java(Compiled Code))
at com.ibm.mq.jms.MQSession.run(MQSession.java(Compiled Code))
at com.ibm.ejs.jms.JMSSessionHandle.run(JMSSessionHandle.java:923)
at com.ibm.ejs.jms.listener.ServerSession.connectionConsumerOnMessage(ServerSession.java:697)
at com.ibm.ejs.jms.listener.ServerSession.onMessage(ServerSession.java:482)
at com.ibm.ejs.jms.listener.ServerSession.dispatch(ServerSession.java:449)
at java.lang.reflect.Method.invoke(Native Method)
at com.ibm.ejs.jms.listener.ServerSessionDispatcher.dispatch(ServerSessionDispatcher.java:37)
at com.ibm.ejs.container.MDBWrapper.onMessage(MDBWrapper.java:91)
at com.ibm.ejs.container.MDBWrapper.onMessage(MDBWrapper.java:127)
at com.ibm.ejs.jms.listener.ServerSession.run(ServerSession.java:372)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:672)

[4/3/06 11:26:13:723 EDT] 21e32ac2 JMSExceptionL E WMSG0057E: Error on JMSConnection for MDB CCOFeedMDB , JMSDestination jms/CCORequestQ , JMS Linked Exception : com.ibm.mq.MQException: MQJE001: Completion Code 2, Reason 2009
at com.ibm.mq.jms.MQSession.consume(MQSession.java(Compiled Code))
at com.ibm.mq.jms.MQSession.run(MQSession.java(Compiled Code))
at com.ibm.ejs.jms.JMSSessionHandle.run(JMSSessionHandle.java:923)
at com.ibm.ejs.jms.listener.ServerSession.connectionConsumerOnMessage(ServerSession.java:697)
at com.ibm.ejs.jms.listener.ServerSession.onMessage(ServerSession.java:482)
at com.ibm.ejs.jms.listener.ServerSession.dispatch(ServerSession.java:449)
at java.lang.reflect.Method.invoke(Native Method)
at com.ibm.ejs.jms.listener.ServerSessionDispatcher.dispatch(ServerSessionDispatcher.java:37)
at com.ibm.ejs.container.MDBWrapper.onMessage(MDBWrapper.java:91)
at com.ibm.ejs.container.MDBWrapper.onMessage(MDBWrapper.java:127)
at com.ibm.ejs.jms.listener.ServerSession.run(ServerSession.java:372)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:672)

[4/3/06 11:26:13:724 EDT] 21e32ac2 MDBListenerIm I WMSG0043I: MDB Listener lsnrCCOFeedMQ stopped for JMSDestination jms/CCORequestQ
[4/3/06 11:26:15:690 EDT] 21e32ac2 MDBListenerIm I WMSG0058I: Listener Port lsnrCCOFeedMQ will attempt to restart in 60 seconds
[4/3/06 11:26:15:691 EDT] 21e32ac2 ConnectionEve A J2CA0056I: The Connection Manager received a fatal connection error from the Resource Adaptor for resource JMS$RRCF_client. The exception which was received is javax.jms.JMSException: MQJMS2002: failed to get message from MQ queue
[4/3/06 11:27:15:735 EDT] 7763eaa5 MDBListenerIm I WMSG0042I: MDB Listener lsnrCCOFeedMQ started successfully for JMSDestination jms/CCORequestQ
[4/3/06 11:27:15:737 EDT] 51312b43 JMSExceptionL E WMSG0018E: Error on JMSConnection for MDB CCOFeedMDB , JMSDestination jms/CCORequestQ : javax.jms.JMSException: MQJMS2002: failed to get message from MQ queue
at com.ibm.mq.jms.services.ConfigEnvironment.newException(ConfigEnvironment.java(Inlined Compiled Code))
at com.ibm.mq.jms.MQSession.consume(MQSession.java(Compiled Code))
at com.ibm.mq.jms.MQSession.run(MQSession.java(Compiled Code))
at com.ibm.ejs.jms.JMSSessionHandle.run(JMSSessionHandle.java:923)
at com.ibm.ejs.jms.listener.ServerSession.connectionConsumerOnMessage(ServerSession.java:697)
at com.ibm.ejs.jms.listener.ServerSession.onMessage(ServerSession.java:482)
at com.ibm.ejs.jms.listener.ServerSession.dispatch(ServerSession.java:449)
at java.lang.reflect.Method.invoke(Native Method)
at com.ibm.ejs.jms.listener.ServerSessionDispatcher.dispatch(ServerSessionDispatcher.java:37)
at com.ibm.ejs.container.MDBWrapper.onMessage(MDBWrapper.java:91)
at com.ibm.ejs.container.MDBWrapper.onMessage(MDBWrapper.java:127)
at com.ibm.ejs.jms.listener.ServerSession.run(ServerSession.java:372)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:672)
---- Begin backtrace for Nested Throwables
com.ibm.mq.MQException: MQJE001: Completion Code 2, Reason 2019
at com.ibm.mq.jms.MQSession.consume(MQSession.java(Compiled Code))
at com.ibm.mq.jms.MQSession.run(MQSession.java(Compiled Code))
at com.ibm.ejs.jms.JMSSessionHandle.run(JMSSessionHandle.java:923)
at com.ibm.ejs.jms.listener.ServerSession.connectionConsumerOnMessage(ServerSession.java:697)
at com.ibm.ejs.jms.listener.ServerSession.onMessage(ServerSession.java:482)
at com.ibm.ejs.jms.listener.ServerSession.dispatch(ServerSession.java:449)
at java.lang.reflect.Method.invoke(Native Method)
at com.ibm.ejs.jms.listener.ServerSessionDispatcher.dispatch(ServerSessionDispatcher.java:37)
at com.ibm.ejs.container.MDBWrapper.onMessage(MDBWrapper.java:91)
at com.ibm.ejs.container.MDBWrapper.onMessage(MDBWrapper.java:127)
at com.ibm.ejs.jms.listener.ServerSession.run(ServerSession.java:372)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:672)

[4/3/06 11:27:15:737 EDT] 51312b43 JMSExceptionL E WMSG0057E: Error on JMSConnection for MDB CCOFeedMDB , JMSDestination jms/CCORequestQ , JMS Linked Exception : com.ibm.mq.MQException: MQJE001: Completion Code 2, Reason 2019
at com.ibm.mq.jms.MQSession.consume(MQSession.java(Compiled Code))
at com.ibm.mq.jms.MQSession.run(MQSession.java(Compiled Code))
at com.ibm.ejs.jms.JMSSessionHandle.run(JMSSessionHandle.java:923)
at com.ibm.ejs.jms.listener.ServerSession.connectionConsumerOnMessage(ServerSession.java:697)
at com.ibm.ejs.jms.listener.ServerSession.onMessage(ServerSession.java:482)
at com.ibm.ejs.jms.listener.ServerSession.dispatch(ServerSession.java:449)
at java.lang.reflect.Method.invoke(Native Method)
at com.ibm.ejs.jms.listener.ServerSessionDispatcher.dispatch(ServerSessionDispatcher.java:37)
at com.ibm.ejs.container.MDBWrapper.onMessage(MDBWrapper.java:91)
at com.ibm.ejs.container.MDBWrapper.onMessage(MDBWrapper.java:127)
at com.ibm.ejs.jms.listener.ServerSession.run(ServerSession.java:372)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:672)

[4/3/06 11:27:15:738 EDT] 51312b43 MDBListenerIm I WMSG0043I: MDB Listener lsnrCCOFeedMQ stopped for JMSDestination jms/CCORequestQ
[4/3/06 11:27:15:771 EDT] 5134ab43 ConnectionEve A J2CA0056I: The Connection Manager received a fatal connection error from the Resource Adaptor for resource JMS$RRCF_client. The exception which was received is javax.jms.JMSException: MQJMS2002: failed to get message from MQ queue
[4/3/06 11:27:20:798 EDT] 5134ab43 WASLogger E CLASSNAME METHODNAME an internal error has occurred. Please contact your system administrator. Detail: com.ibm.mq.MQException: MQJE001: Completion Code 2, Reason 2019
[4/3/06 11:27:20:873 EDT] 51312b43 MDBListenerIm I WMSG0058I: Listener Port lsnrCCOFeedMQ will attempt to restart in 60 seconds
[4/3/06 11:28:20:918 EDT] 19a2aa9f MDBListenerIm I WMSG0042I: MDB Listener lsnrCCOFeedMQ started successfully for JMSDestination jms/CCORequestQ

It does succeed in finally connecting after the second retry, but this is still a concern. Also this is an issue only with Listener ports on Client channels. The referred topic concluded by saying that this was a firewall timeout issue. I need more information to convince my team. Can somebody please help?

If anyone needs any more info from me, please do let me know.
_________________
Regards,
Sandy
Back to top
View user's profile Send private message MSN Messenger
PeterPotkay
PostPosted: Mon Apr 03, 2006 12:15 pm    Post subject: Reply with quote

Poobah

Joined: 15 May 2001
Posts: 7722

What MQ version are the MQClients? MQ 5.3 CSD8, 9, 10 and 11 all had JMS MQ Client problems, some of which resulted in unexpected 2009 and 2019s, as described in the following link:
http://www-1.ibm.com/support/docview.wss?uid=swg21217437

Oh we had fun with that one....
_________________
Peter Potkay
Keep Calm and MQ On
Back to top
View user's profile Send private message
jefflowrey
PostPosted: Mon Apr 03, 2006 12:18 pm    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

PeterPotkay wrote:
unexpected 2009 and 2019s


Nobody expects the MQRC_CONNECTION_BROKEN!
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
PeterPotkay
PostPosted: Mon Apr 03, 2006 12:23 pm    Post subject: Reply with quote

Poobah

Joined: 15 May 2001
Posts: 7722

If I tell the apps I am bringing the QM down Saturday night for maintenance, they should expect any of the following:

Code:

MQC.MQRC_Q_MGR_NOT_AVAILABLE
MQC.MQRC_Q_MGR_QUIESCING
MQC.MQRC_Q_MGR_STOPPING
MQC.MQRC_CONNECTION_BROKEN
MQC.MQRC_CONNECTION_QUIESCING
MQC.MQRC_CONNECTION_STOPPING


The 2009 would be expected if they have an open queue and go to put to it right after the QM came down.
_________________
Peter Potkay
Keep Calm and MQ On
Back to top
View user's profile Send private message
sandy_harry
PostPosted: Mon Apr 03, 2006 1:09 pm    Post subject: Reply with quote

Newbie

Joined: 29 Jun 2005
Posts: 8
Location: Portsmouth, NH

Sorry.. should have mentioned it earlier..
We have MQ 5.3 on AIX with CSD 12.
_________________
Regards,
Sandy
Back to top
View user's profile Send private message MSN Messenger
oz1ccg
PostPosted: Tue Apr 04, 2006 12:26 am    Post subject: Reply with quote

Yatiri

Joined: 10 Feb 2002
Posts: 628
Location: Denmark

Hmm, what is the timeout (inactive time limit) on the firewall ?
Typicly 30 minutes to 60 minutes....

I had som bad expierences with that long time ago, what I did was changeing the TCP/IP keep alive settings on the boxes to get below the Firewall settings.

You have to make sure that the OS Keep Alive parameter is set to a value below a maximum of 1 hour, which is the recommended firewall configuration setting.
You can define this parameter as follows:

On Windows, the Keep Alive setting is a registry key: the KeepAliveTime TCP parameter.
The default value is 2 hours - 7,200,000 milliseconds. For Firewall setting of 1 hour, you will need to change the KeepAliveTime TCP parameter to 1 hour in order to avoid Firewall disconnections due to idle connection timeout.
NOTE: Changes in the registry key settings must be carried out under strict guidance of your System Administrator.

On AIX, the value/frequence used to send keep alive packet can be obtained by using the command:
1. Log in as root.
2. Check the current values:
3. no -o tcp_keepidle
The tcp_keepidle value is the total length of time to keep an idle TCP connection alive.
This is measured in half-second increments.
The default is 14,400 which equals 2 hours

-- Lock it or Lose it --
_________________
Regards, Jørgen
Home of BlockIP2, the last free MQ Security exit ver. 3.00
Cert. on WMQ, WBIMB, SWIFT.


Last edited by oz1ccg on Tue Apr 04, 2006 4:53 am; edited 2 times in total
Back to top
View user's profile Send private message Send e-mail Visit poster's website MSN Messenger
sandy_harry
PostPosted: Tue Apr 04, 2006 4:34 am    Post subject: Reply with quote

Newbie

Joined: 29 Jun 2005
Posts: 8
Location: Portsmouth, NH

Thanks for your help. I'll find out what is the timeout setting on the AIX boxes. Will the connection always fail if the first activity happens after the firewall timeout? I tried the first transaction 4.5 hours after the app servers were restarted and it successfully went through. I dont believe the timeout is more than 5 hours. In that case why did the channel not fail this time?

Also should I change the timeout setting on the app server node box or the remote QM box? or both?

Thanks again!
_________________
Regards,
Sandy
Back to top
View user's profile Send private message MSN Messenger
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » General IBM MQ Support » Could Client Channels be the issue?
Jump to:  



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
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.