Author |
Message
|
cheanfeiy |
Posted: Wed Jun 13, 2007 10:19 pm Post subject: Unrelease channel connection |
|
|
Apprentice
Joined: 21 Jun 2003 Posts: 26
|
Hi experts,
I noticed in my QM that there are some "hang" connection to some of the SVRCONN channels (eg. SYSTEM.ADMIN.SVRCONN). Those connection has been established since 1-2 months ago and the ip-addr connected to the SVRCONN channels is no longer alive (meaning can't even get response from that ip-addr when using ping command).
Is this problem related to wrong MQ setting or this is MQ normal behavior? If related to MQ setting, could someone please give some insights?
What actually could cause this type of problem happen?
Thanks |
|
Back to top |
|
 |
Vitor |
Posted: Thu Jun 14, 2007 12:37 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
I'd check that the connections are being closed properly by the applications. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
UglyAngelX |
Posted: Thu Jun 14, 2007 5:56 am Post subject: |
|
|
Voyager
Joined: 04 Dec 2001 Posts: 90 Location: BEARS FAN IN STEELER COUNTRY
|
What OS, we are seeing this on Linux MQ 5.3 and Solaris MQ 6 servers. |
|
Back to top |
|
 |
tleichen |
Posted: Thu Jun 14, 2007 7:00 am Post subject: |
|
|
Yatiri
Joined: 11 Apr 2005 Posts: 663 Location: Center of the USA
|
Client channels are more apt to hang around if the application is not written properly. You really need to examine (and fix) how the client application is written, as Vitor already mentioned.  _________________ IBM Certified MQSeries Specialist
IBM Certified MQSeries Developer |
|
Back to top |
|
 |
Toronto_MQ |
Posted: Thu Jun 14, 2007 7:12 am Post subject: |
|
|
 Master
Joined: 10 Jul 2002 Posts: 263 Location: read my name
|
tleichen wrote: |
Client channels are more apt to hang around if the application is not written properly. You really need to examine (and fix) how the client application is written, as Vitor already mentioned.  |
We have seen this before as well, on Solaris SPARC running MQ v6.
The client application causing the orphaned channels? MQExplorer...
Steve |
|
Back to top |
|
 |
Vitor |
Posted: Thu Jun 14, 2007 7:20 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
Toronto_MQ wrote: |
We have seen this before as well, on Solaris SPARC running MQ v6.
The client application causing the orphaned channels? MQExplorer...
|
Now that does explain why there are connections on SYSTEM.ADMIN.SVRCONN, which was bothering me slightly  _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
fjb_saper |
Posted: Thu Jun 14, 2007 2:36 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
Vitor wrote: |
Toronto_MQ wrote: |
We have seen this before as well, on Solaris SPARC running MQ v6.
The client application causing the orphaned channels? MQExplorer...
|
Now that does explain why there are connections on SYSTEM.ADMIN.SVRCONN, which was bothering me slightly  |
And in V6 if the connection is stale you can find out it's handle and issue a STOP CONN() and wait to see who screams...
Enjoy  _________________ MQ & Broker admin |
|
Back to top |
|
 |
cheanfeiy |
Posted: Thu Jun 14, 2007 8:19 pm Post subject: |
|
|
Apprentice
Joined: 21 Jun 2003 Posts: 26
|
fjb_saper wrote
Quote: |
And in V6 if the connection is stale you can find out it's handle and issue a STOP CONN() and wait to see who screams...
|
You are right, those connections were created by MQExplorer/3rd party utility.
Just some additional info, i am using MQ v6.0 on AIX 5.3.
But, how can i find the connectionId as the input for STOP CONN()?
According to WQM manual, the connectionId is MQBYTE24 but i can't find this field in MQExplorer for SYSTEM.ADMIN.SVRCONN status. |
|
Back to top |
|
 |
fjb_saper |
Posted: Fri Jun 15, 2007 2:07 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
you need to look at the channel status.
If you are on a decent level of 6.0 you should see a conname.
You can then look up the connections
Quote: |
dis conn(*) all where (conname eq '10.163.45.02') |
The rest of the attributes should allow you to identify the correct connection. You can then stop it.
Enjoy  _________________ MQ & Broker admin |
|
Back to top |
|
 |
cheanfeiy |
Posted: Sun Jun 17, 2007 8:38 pm Post subject: |
|
|
Apprentice
Joined: 21 Jun 2003 Posts: 26
|
Thanks fjb_saper.
Now I am enable to stop the orphaned connections.
BTW, can MQ be configured to handle such orphaned connections? |
|
Back to top |
|
 |
GMcCarthy |
Posted: Thu Jan 31, 2008 8:29 am Post subject: |
|
|
 Centurion
Joined: 06 Nov 2001 Posts: 113 Location: Melville NY
|
fjb_saper wrote: |
The rest of the attributes should allow you to identify the correct connection. You can then stop it. |
I have 4 SVRCONN connections coming in using the same channel and only 1 is dead. I cannot match the information from the chstatus, qstatus and conn information. I can match the info from qstatus (PID and TID) and conn info. However, I cannot tell from that info which one is the dead one?
My dead connection:
60 : dis chstatus(MY.SVRCONN) all
AMQ8417: Display Channel Status details.
CHANNEL(MY.SVRCONN) CHLTYPE(SVRCONN)
BUFSRCVD(10) BUFSSENT( 8 )
BYTSRCVD(5917) BYTSSENT(5653)
CHSTADA(2008-01-31) CHSTATI(10.53.02)
COMPHDR(NONE,NONE) COMPMSG(NONE,NONE)
COMPRATE(0,0) COMPTIME(0,0)
CONNAME(111.222.333.444) CURRENT
EXITTIME(0,0) HBINT(300)
JOBNAME(0000090D007A60C9) LOCLADDR(::ffff:1.2.3.4(1414))
LSTMSGDA(2008-01-31) LSTMSGTI(10.53.13)
MCASTAT(RUNNING) MCAUSER(nobody)
MONCHL(OFF) MSGS(7)
RAPPLTAG(ssor\ArrowOrderProcessor.exe)
RQMNAME( ) SSLCERTI( )
SSLKEYDA( ) SSLKEYTI( )
SSLPEER( ) SSLRKEYS(0)
STATUS(RUNNING) STOPREQ(NO)
SUBSTATE(MQGET) XMITQ( )
*****
AMQ8417: Display Channel Status details.
CHANNEL(MY.SVRCONN) CHLTYPE(SVRCONN)
BUFSRCVD(19) BUFSSENT(17)
BYTSRCVD(17299) BYTSSENT(18285)
CHSTADA(2008-01-31) CHSTATI(10.52.14)
COMPHDR(NONE,NONE) COMPMSG(NONE,NONE)
COMPRATE(0,0) COMPTIME(0,0)
CONNAME(111.222.333.444) CURRENT
EXITTIME(0,0) HBINT(300)
JOBNAME(0000090D007A609F) LOCLADDR(::ffff:1.2.3.4(1414))
LSTMSGDA(2008-01-31) LSTMSGTI(10.52.52)
MCASTAT(RUNNING) MCAUSER(nobody)
MONCHL(OFF) MSGS(16)
RAPPLTAG(ssor\ArrowOrderProcessor.exe)
RQMNAME( ) SSLCERTI( )
SSLKEYDA( ) SSLKEYTI( )
SSLPEER( ) SSLRKEYS(0)
STATUS(RUNNING) STOPREQ(NO)
SUBSTATE(MQGET) XMITQ( )
*****
AMQ8417: Display Channel Status details.
CHANNEL(MY.SVRCONN) CHLTYPE(SVRCONN)
BUFSRCVD(7) BUFSSENT(5)
BYTSRCVD(1652) BYTSSENT(1048)
CHSTADA(2008-01-31) CHSTATI(10.53.00)
COMPHDR(NONE,NONE) COMPMSG(NONE,NONE)
COMPRATE(0,0) COMPTIME(0,0)
CONNAME(111.222.333.444) CURRENT
EXITTIME(0,0) HBINT(300)
JOBNAME(0000274D002AF72E) LOCLADDR(::ffff:1.2.3.4(1414))
LSTMSGDA(2008-01-31) LSTMSGTI(10.53.05)
MCASTAT(RUNNING) MCAUSER(nobody)
MONCHL(OFF) MSGS(4)
RAPPLTAG(ssor\ArrowOrderProcessor.exe)
RQMNAME( ) SSLCERTI( )
SSLKEYDA( ) SSLKEYTI( )
SSLPEER( ) SSLRKEYS(0)
STATUS(RUNNING) STOPREQ(NO)
SUBSTATE(MQGET) XMITQ( )
*****
AMQ8417: Display Channel Status details.
CHANNEL(MY.SVRCONN) CHLTYPE(SVRCONN)
BUFSRCVD(13) BUFSSENT(12)
BYTSRCVD(10237) BYTSSENT(20532)
CHSTADA(2008-01-29) CHSTATI( 21.24.48 )
COMPHDR(NONE,NONE) COMPMSG(NONE,NONE)
COMPRATE(0,0) COMPTIME(0,0)
CONNAME(111.222.333.444) CURRENT
EXITTIME(0,0) HBINT(300)
JOBNAME(0000090D007987F7) LOCLADDR(::ffff:1.2.3.4(1414))
LSTMSGDA(2008-01-29) LSTMSGTI(21.25.10)
MCASTAT(RUNNING) MCAUSER(nobody)
MONCHL(OFF) MSGS(10)
RAPPLTAG(ssor\ArrowOrderProcessor.exe)
RQMNAME( ) SSLCERTI( )
SSLKEYDA( ) SSLKEYTI( )
SSLPEER( ) SSLRKEYS(0)
STATUS(RUNNING) STOPREQ(NO)
SUBSTATE(RECEIVE) XMITQ( )
My conn info:
231 : dis conn(*) type(*) all where(channel eq my.svrconn)
AMQ8276: Display Connection details.
CONN(479236B5234C0134)
EXTCONN(414D51434C4E584D5153503120202020)
TYPE(*)
PID(2317) TID(7964663)
APPLTAG(ssor\ArrowOrderProcessor.exe) APPLTYPE(USER)
CHANNEL(MY.SVRCONN) CONNAME(111.222.333.444)
CONNOPTS(MQCNO_SHARED_BINDING) USERID(nobody)
UOWLOG( ) UOWSTDA( )
UOWSTTI( ) UOWLOGDA( )
UOWLOGTI( ) URTYPE(QMGR)
EXTURID(XA_FORMATID[00000000] XA_GTRID[] XA_BQUAL[])
QMURID(0.0) UOWSTATE(NONE)
OBJNAME(WMS.TMSX.REQUEST) OBJTYPE(QUEUE)
OPENOPTS(MQOO_INPUT_SHARED) HSTATE(INACTIVE)
OBJNAME(WMS.TMSX.RESPONSE) OBJTYPE(QUEUE)
OPENOPTS(MQOO_OUTPUT) HSTATE(INACTIVE)
*****
AMQ8276: Display Connection details.
CONN(479236B523CB5076)
EXTCONN(414D51434C4E584D5153503120202020)
TYPE(*)
PID(10061) TID(2817609)
APPLTAG(ssor\ArrowOrderProcessor.exe) APPLTYPE(USER)
CHANNEL(MY.SVRCONN) CONNAME(111.222.333.444)
CONNOPTS(MQCNO_SHARED_BINDING) USERID(nobody)
UOWLOG( ) UOWSTDA( )
UOWSTTI( ) UOWLOGDA( )
UOWLOGTI( ) URTYPE(QMGR)
EXTURID(XA_FORMATID[00000000] XA_GTRID[] XA_BQUAL[])
QMURID(0.0) UOWSTATE(NONE)
OBJNAME(WMS.TMSX.REQUEST) OBJTYPE(QUEUE)
OPENOPTS(MQOO_INPUT_SHARED) HSTATE(ACTIVE)
OBJNAME(WMS.TMSX.RESPONSE) OBJTYPE(QUEUE)
OPENOPTS(MQOO_OUTPUT) HSTATE(INACTIVE)
*****
AMQ8276: Display Connection details.
CONN(479236B523CA83AA)
EXTCONN(414D51434C4E584D5153503120202020)
TYPE(*)
PID(2317) TID(8021987)
APPLTAG(ssor\ArrowOrderProcessor.exe) APPLTYPE(USER)
CHANNEL(MY.SVRCONN) CONNAME(111.222.333.444)
CONNOPTS(MQCNO_SHARED_BINDING) USERID(nobody)
UOWLOG( ) UOWSTDA( )
UOWSTTI( ) UOWLOGDA( )
UOWLOGTI( ) URTYPE(QMGR)
EXTURID(XA_FORMATID[00000000] XA_GTRID[] XA_BQUAL[])
QMURID(0.0) UOWSTATE(NONE)
OBJNAME(WMS.TMSX.REQUEST) OBJTYPE(QUEUE)
OPENOPTS(MQOO_INPUT_SHARED) HSTATE(ACTIVE)
OBJNAME(WMS.TMSX.RESPONSE) OBJTYPE(QUEUE)
OPENOPTS(MQOO_OUTPUT) HSTATE(INACTIVE)
*****
AMQ8276: Display Connection details.
CONN(479236B523CAE6AB)
EXTCONN(414D51434C4E584D5153503120202020)
TYPE(*)
PID(10061) TID(2817616)
APPLTAG(ssor\ArrowOrderProcessor.exe) APPLTYPE(USER)
CHANNEL(MY.SVRCONN) CONNAME(111.222.333.444)
CONNOPTS(MQCNO_SHARED_BINDING) USERID(nobody)
UOWLOG( ) UOWSTDA( )
UOWSTTI( ) UOWLOGDA( )
UOWLOGTI( ) URTYPE(QMGR)
EXTURID(XA_FORMATID[00000000] XA_GTRID[] XA_BQUAL[])
QMURID(0.0) UOWSTATE(NONE)
OBJNAME(WMS.TMSX.REQUEST) OBJTYPE(QUEUE)
OPENOPTS(MQOO_INPUT_SHARED) HSTATE(ACTIVE)
OBJNAME(WMS.TMSX.RESPONSE) OBJTYPE(QUEUE)
OPENOPTS(MQOO_OUTPUT) HSTATE(INACTIVE)
My queue status info:
dis qstatus(QL.WMS.TMSX.RESPONSE) type(handle) where(conname EQ '111.222.333.444') all
AMQ8450: Display queue status details.
QUEUE(QL.WMS.TMSX.RESPONSE) TYPE(HANDLE)
APPLTAG(ssor\ArrowOrderProcessor.exe) APPLTYPE(USER)
BROWSE(NO) CHANNEL(MY.SVRCONN)
CONNAME(111.222.333.444) HSTATE(INACTIVE)
INPUT(NO) INQUIRE(NO)
OUTPUT(YES) PID(4497)
QMURID(0.0) SET(NO)
TID(7908843)
URID(XA_FORMATID[00000000] XA_GTRID[] XA_BQUAL[])
URTYPE(QMGR) USERID(nobody)
*****
AMQ8450: Display queue status details.
QUEUE(QL.WMS.TMSX.RESPONSE) TYPE(HANDLE)
APPLTAG(ssor\ArrowOrderProcessor.exe) APPLTYPE(USER)
BROWSE(NO) CHANNEL(MY.SVRCONN)
CONNAME(111.222.333.444) HSTATE(INACTIVE)
INPUT(NO) INQUIRE(NO)
OUTPUT(YES) PID(2317)
QMURID(0.0) SET(NO)
TID(8021515)
URID(XA_FORMATID[00000000] XA_GTRID[] XA_BQUAL[])
URTYPE(QMGR) USERID(nobody)
*****
AMQ8450: Display queue status details.
QUEUE(QL.WMS.TMSX.RESPONSE) TYPE(HANDLE)
APPLTAG(ssor\ArrowOrderProcessor.exe) APPLTYPE(USER)
BROWSE(NO) CHANNEL(MY.SVRCONN)
CONNAME(111.222.333.444) HSTATE(INACTIVE)
INPUT(NO) INQUIRE(NO)
OUTPUT(YES) PID(2317)
QMURID(0.0) SET(NO)
TID(8021516)
URID(XA_FORMATID[00000000] XA_GTRID[] XA_BQUAL[])
URTYPE(QMGR) USERID(nobody)
*****
AMQ8450: Display queue status details.
QUEUE(QL.WMS.TMSX.RESPONSE) TYPE(HANDLE)
APPLTAG(ssor\ArrowOrderProcessor.exe) APPLTYPE(USER)
BROWSE(NO) CHANNEL(MY.SVRCONN)
CONNAME(111.222.333.444) HSTATE(INACTIVE)
INPUT(NO) INQUIRE(NO)
OUTPUT(YES) PID(2317)
QMURID(0.0) SET(NO)
TID(7964663)
URID(XA_FORMATID[00000000] XA_GTRID[] XA_BQUAL[])
URTYPE(QMGR) USERID(nobody)
What am I missing?
Thanks,
Gina |
|
Back to top |
|
 |
PeterPotkay |
Posted: Thu Jan 31, 2008 8:33 am Post subject: |
|
|
 Poobah
Joined: 15 May 2001 Posts: 7722
|
Gina, what do you mean the connection is "dead"? How do you know that? _________________ Peter Potkay
Keep Calm and MQ On |
|
Back to top |
|
 |
GMcCarthy |
Posted: Thu Jan 31, 2008 10:04 am Post subject: |
|
|
 Centurion
Joined: 06 Nov 2001 Posts: 113 Location: Melville NY
|
The application recycles each connection every 15 minutes. We're having a performance problem with this application. The app is written in VB and it's a vendor. So since I cannot see the code....I was looking at the channels to see what's going on and noticed this channel in a substate of receive for 3 days now. So, I'm assuming it's a broken connection. |
|
Back to top |
|
 |
PeterPotkay |
Posted: Thu Jan 31, 2008 10:11 am Post subject: |
|
|
 Poobah
Joined: 15 May 2001 Posts: 7722
|
I don't know if there is a way to squash one particular connection like that. If you stop the SVRCONN channel you will clean up the suspected bad connection, but will also knock out the other valid ones for that SVRCONN channel.
TCP Keep Alive solves these problems. We set the O/S to 15 minutes for Keep Alive and then tell the QM to us Keep Alive. Any orphaned socket connections get cleaned up automagically. _________________ Peter Potkay
Keep Calm and MQ On |
|
Back to top |
|
 |
GMcCarthy |
Posted: Thu Jan 31, 2008 10:16 am Post subject: |
|
|
 Centurion
Joined: 06 Nov 2001 Posts: 113 Location: Melville NY
|
I thought STOP CONN was supposed to allow a cancel/stop of one connection. Oh well?
I have TCPIP Keepalive=yes. The OS keepalive is set to 7200 (or it was...I changed it yesterday to 1800). I thought it should be gone.
Gina |
|
Back to top |
|
 |
|