Author |
Message
|
kaysree |
Posted: Mon Aug 21, 2006 4:43 am Post subject: How to keep SDR channel running automatically? |
|
|
Newbie
Joined: 24 Jul 2006 Posts: 5
|
Hi,
Every time my SDR channel ends due to inactivity, I need manually start the channel for it to receive any message. How do I keep the channel running automatically? Here is my SDR channel details:
AMQ8414: Display Channel details.
CHANNEL(INNODEV1.MTASDEV) CHLTYPE(SDR)
ALTDATE(2006-08-17) ALTTIME(11.53.30)
BATCHHB(0) BATCHINT(0)
BATCHSZ(50) COMPHDR(NONE)
COMPMSG(NONE) CONNAME(162.115.245.12(1414))
CONVERT(NO) DESCR( )
DISCINT(6000) HBINT(300)
KAINT(AUTO) LOCLADDR( )
LONGRTY(999999999) LONGTMR(1200)
MAXMSGL(4194304) MCANAME( )
MCATYPE(THREAD) MCAUSER( )
MODENAME( ) MONCHL(QMGR)
MSGDATA( ) MSGEXIT( )
NPMSPEED(FAST) PASSWORD( )
RCVDATA( ) RCVEXIT( )
SCYDATA( ) SCYEXIT( )
SENDDATA( ) SENDEXIT( )
SEQWRAP(999999999) SHORTRTY(10)
SHORTTMR(60) SSLCIPH( )
SSLPEER( ) STATCHL(QMGR)
TPNAME( ) TRPTYPE(TCP)
USERID( ) XMITQ(MTASDEV_QMGR)
Here is the qm log extract when the channel ends due to inactivity:
-------------------------------------------------------------------------------
08/20/06 23:52:56 - Process(3371.10) User(mqm) Program(amqrmppa_nd)
AMQ9545: Disconnect interval expired.
EXPLANATION:
Channel 'INNODEV1.MTASDEV' closed because no messages arrived on the
transmission queue within the disconnect interval period.
ACTION:
None.
-------------------------------------------------------------------------------
08/20/06 23:52:56 - Process(3371.10) User(mqm) Program(amqrmppa_nd)
AMQ9001: Channel 'INNODEV1.MTASDEV' ended normally.
EXPLANATION:
Channel 'INNODEV1.MTASDEV' ended normally.
ACTION:
None.
-------------------------------------------------------------------------------
I do not have such issue with the clussdr channel though. Please advice.
-kay |
|
Back to top |
|
 |
Vitor |
Posted: Mon Aug 21, 2006 4:46 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
And you're certain the channel initiator is running normally? _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
kaysree |
Posted: Mon Aug 21, 2006 5:10 am Post subject: channel initiator |
|
|
Newbie
Joined: 24 Jul 2006 Posts: 5
|
How do I verify this?
I noticed one particular error last night on the errors/AMQERR01.LOG. But I am not sure if this is related to the timeout, I have not seen this error before, but I have been having this timeout since I created this qmgr. Please see the 3 log entries preceding the log I sent in the earlier post:
-------------------------------------------------------------------------------
08/20/06 22:01:37 - Process(3371.9) User(mqm) Program(amqrmppa_nd)
AMQ9002: Channel 'INNODEV1.MTASDEV' is starting.
EXPLANATION:
Channel 'INNODEV1.MTASDEV' is starting.
ACTION:
None.
-------------------------------------------------------------------------------
08/20/06 22:12:42 - Process(3371.9) User(mqm) Program(amqrmppa_nd)
AMQ9208: Error on receive from host 162 (162.115.245.12).
EXPLANATION:
An error occurred receiving data from 162 (162.115.245.12) over TCP/IP. This
may be due to a communications failure.
ACTION:
The return code from the TCP/IP (read) call was 232 (X'E8'). Record these
values and tell the systems administrator.
----- amqccita.c : 3223 -------------------------------------------------------
08/20/06 22:12:42 - Process(3371.9) User(mqm) Program(amqrmppa_nd)
AMQ9999: Channel program ended abnormally.
EXPLANATION:
Channel program 'INNODEV1.MTASDEV' ended abnormally.
ACTION:
Look at previous error messages for channel program 'INNODEV1.MTASDEV' in the
error files to determine the cause of the failure.
----- amqrccca.c : 773 --------------------------------------------------------
08/20/06 22:12:52 - Process(3371.10) User(mqm) Program(amqrmppa_nd)
AMQ9002: Channel 'INNODEV1.MTASDEV' is starting.
EXPLANATION:
Channel 'INNODEV1.MTASDEV' is starting.
ACTION:
None.
-------------------------------------------------------------------------------
08/20/06 23:52:56 - Process(3371.10) User(mqm) Program(amqrmppa_nd)
AMQ9545: Disconnect interval expired.
EXPLANATION:
Channel 'INNODEV1.MTASDEV' closed because no messages arrived on the
transmission queue within the disconnect interval period.
ACTION:
None.
-------------------------------------------------------------------------------
08/20/06 23:52:56 - Process(3371.10) User(mqm) Program(amqrmppa_nd)
AMQ9001: Channel 'INNODEV1.MTASDEV' ended normally.
EXPLANATION:
Channel 'INNODEV1.MTASDEV' ended normally.
ACTION:
None.
-------------------------------------------------------------------------------
Thanks,
Sridhar |
|
Back to top |
|
 |
Vitor |
Posted: Mon Aug 21, 2006 5:26 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
What platform are you on, and what version of MQ?
In simple terms, use whatever method you use to start your channel initiator to determine if it's still running.
The error looks like a simple TCP/IP error and I would doubt it's connected to the problem. The MCA's done an auto restart 10 seconds later as you'd expect it to. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
kaysree |
Posted: Mon Aug 21, 2006 5:37 am Post subject: |
|
|
Newbie
Joined: 24 Jul 2006 Posts: 5
|
Version is WebSphere MQ 6.0 on HPUX platform.
The way I start channel is with the following command from mqsc prompt:
START CHANNEL(INNODEV1.MTASDEV)
The channel does start without any errors and it continues keep running so long as it keep getting requests.
Problem is when there is no activity for more than 30 minutes, the SDR channel seems to end with AMQ9545: Disconnect interval expired. message in the AMQERR01.LOG. And only way to restart the channel again is to manually start with the above command again. |
|
Back to top |
|
 |
Mr Butcher |
Posted: Mon Aug 21, 2006 5:43 am Post subject: |
|
|
 Padawan
Joined: 23 May 2005 Posts: 1716
|
Trigger the XMITQ to have the channel started again when a message is put to the XMITQ. See the intercommunication guide.
or use a disconnect interval of 0 (you should trigger anyway in that case) which will keep the channel up even if no messages are transferred.
clussdr channels do not need triggering, thats why you do not have an issue here. _________________ Regards, Butcher
Last edited by Mr Butcher on Mon Aug 21, 2006 5:44 am; edited 1 time in total |
|
Back to top |
|
 |
oz1ccg |
Posted: Mon Aug 21, 2006 5:43 am Post subject: |
|
|
 Yatiri
Joined: 10 Feb 2002 Posts: 628 Location: Denmark
|
You have told the SDR channel to stop after 6000 secs. of inactivity.
When you use DISCINT() you also need (if you want automatic start of the SDR channel) to specify triggering on the XMITQ.
In your example the command to runmqsc could look like this:
Code: |
ALTER QLOCAL('MTASDEV_QMGR') TRIGGER TRIGTYPE(FIRST) INITQ('SYSTEM.CHANNEL.INITQ') TRIGDATA('INNODEV1.MTASDEV') |
I have a short explanation written by T. Rob some time ago:
http://mrmq.dk/channels.htm _________________ Regards, Jørgen
Home of BlockIP2, the last free MQ Security exit ver. 3.00
Cert. on WMQ, WBIMB, SWIFT. |
|
Back to top |
|
 |
Vitor |
Posted: Mon Aug 21, 2006 5:43 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
kaysree wrote: |
Version is WebSphere MQ 6.0 on HPUX platform.
The way I start channel is with the following command from mqsc prompt:
START CHANNEL(INNODEV1.MTASDEV)
The channel does start without any errors and it continues keep running so long as it keep getting requests.
Problem is when there is no activity for more than 30 minutes, the SDR channel seems to end with AMQ9545: Disconnect interval expired. message in the AMQERR01.LOG. And only way to restart the channel again is to manually start with the above command again. |
Yes, I understand that. You start the channel, it runs until the disconnect interval expires and then it disconnects.
I repeat, is your channel initiator running?  _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
jeevan |
Posted: Mon Aug 21, 2006 6:06 am Post subject: |
|
|
Grand Master
Joined: 12 Nov 2005 Posts: 1432
|
Have you considered setting KeepAlive parameters in qm.ini? this also requires setting tcp_KeepAlive on the OS level? If the channel remains idle for more than an hour and firewal is set up for disconnecting channel whic his idle for certain time, the disconnection of channel happens. |
|
Back to top |
|
 |
Vitor |
Posted: Mon Aug 21, 2006 6:12 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
jeevan wrote: |
Have you considered setting KeepAlive parameters in qm.ini? this also requires setting tcp_KeepAlive on the OS level? If the channel remains idle for more than an hour and firewal is set up for disconnecting channel whic his idle for certain time, the disconnection of channel happens. |
Another solution is to change the disconnect interval so that it doesn't hang up at all.
Doesn't actually answer the question of why the channel's not being triggered.... _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
kaysree |
Posted: Mon Aug 21, 2006 7:41 am Post subject: |
|
|
Newbie
Joined: 24 Jul 2006 Posts: 5
|
Thank you all for the fast & valuable suggestions and document links provided!
I am a bit slow since I am new to MQ. Here are some updates on testing based on suggestions provided:
I. On Channel Initiator - seems to come up when I start the QM, and continues to keep running. no errors on it going down. I need to monitor it to see if it goes down during timeout:
-------------------------------------------------------------------------------
08/21/06 08:29:03 - Process(693.1) User(mqm) Program(runmqchi_nd)
AMQ8024: WebSphere MQ channel initiator started.
EXPLANATION:
The channel initiator for queue SYSTEM.CHANNEL.INITQ has been started.
ACTION:
None.
-------------------------------------------------------------------------------
mqm 693 690 0 08:29:03 ? 0:00 /opt/mqm/bin/runmqchi -m DUOS1_MTAS_QMGR -r
II. I am right not testing DISCINT(0) on one setup and testing the trigger on a different setup with DISCINT(6000), shall let you know the results.
III. I will have keepalive as the next option. Do you recommend having keepalive in addition to the trigger (assuming I get trigger to work)? |
|
Back to top |
|
 |
jefflowrey |
Posted: Mon Aug 21, 2006 7:48 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
If the XMITQ isn't set for triggering, then you're seeing normal behavior.
In v6, you only really need to set TRIGGER and INITQ, you don't need TRIGDATA. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
kevinf2349 |
Posted: Mon Aug 21, 2006 10:23 am Post subject: |
|
|
 Grand Master
Joined: 28 Feb 2003 Posts: 1311 Location: USA
|
Vitor wrote
Quote: |
Yes, I understand that. You start the channel, it runs until the disconnect interval expires and then it disconnects.
I repeat, is your channel initiator running?
|
So if you understand that starting the channel allows the channel to run until the disconnect interval why would think the channel initiator wasn't running?
If the channel starts and runs surely this means the channel initiator must be running?
I would bet a pint of finest ale that this is down to XMITQ triggering....or lack thereof.  |
|
Back to top |
|
 |
kaysree |
Posted: Mon Aug 21, 2006 5:23 pm Post subject: |
|
|
Newbie
Joined: 24 Jul 2006 Posts: 5
|
Thanks to you all, the problem is solved with the definition of XMITQ Trigger. Channel has been up and running and serving requests all day!
Sincerely appreciate each one of your help!
Thank you!
kay |
|
Back to top |
|
 |
|