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 Discussion » Channel disconnection after HBINT expires

Post new topic  Reply to topic
 Channel disconnection after HBINT expires « View previous topic :: View next topic » 
Author Message
dextermbmq
PostPosted: Tue Aug 20, 2019 6:45 am    Post subject: Channel disconnection after HBINT expires Reply with quote

Voyager

Joined: 26 Jul 2014
Posts: 77

Hello,

I am running some tests based on my understanding of HBINT through the infocentre. I have a simple setup with 2 queue managers communicating over SDR-RCVR channels. Both the channels are set with default HBINT of 300. The SDR DISCINT value is 6000.

I started the channels and both the SDR and RCVR channels came in RUNNING State. A min after I deliberately killed the Listener process of the RCVR channel. As per HBINT/DISCINT literature in the infocentre :

1-The SDR channel would send the heartbeat after 5 mins if no message arrives in the SDR Transmission queue.

2-Since the TCP link is now broken due to RCVR listener not being in running state , the RCVR channel would not receive the Heartbeat from the SDR end.

3-As the HBINT value is > 60 secs, the RCVR channel should disconnect after 300+60 secs. (based on the Receive Timeout value from this link :
https://www.ibm.com/support/knowledgecenter/en/SSFKSJ_8.0.0/com.ibm.mq.con.doc/q015650_.htm). Once the channels have gone to INACTIVE state, the next attempt to start the SDR channel(manually or putting a msg in XMITQ) will result in channel to goto RETRYING state

Unfortunately, for me both the channels (SDR and RCVR) remained in Running state till DISCINT interval of 100 mins expired when the channels should have got disconnected in the 1-st 6 mins. Is there something I am missing ?

Regards
Back to top
View user's profile Send private message
gbaddeley
PostPosted: Tue Aug 20, 2019 5:17 pm    Post subject: Reply with quote

Jedi

Joined: 25 Mar 2003
Posts: 2492
Location: Melbourne, Australia

Quote:
...A min after I deliberately killed the Listener process of the RCVR channel...

What process name did you actually kill?
If it was runmqlsr (the MQ Listener process), it will have no effect on channels that are already running. It will however cause channel starts on remote queue managers or clients apps to fail.
_________________
Glenn
Back to top
View user's profile Send private message
hughson
PostPosted: Tue Aug 20, 2019 8:42 pm    Post subject: Reply with quote

Padawan

Joined: 09 May 2013
Posts: 1914
Location: Bay of Plenty, New Zealand

As Glenn notes - the runmqlsr process will not affect the running channel.

Channels do not run inside the runmqlsr process they run inside one of the amqrmppa processes, and it is not at all easy to know which one, or to know which other channels you might effect by killing an amqrmppa process.

If you want to see HBINT in operation shutting down a channel one way to try would be as follows:-
  1. Start up SDR-RCVR channel
  2. Issue STOP CHANNEL(name) on the RCVR end
  3. Wait for HBINT time to pass - then you will see the channel actually come down. Until HBINT has passed, you will see DISPLAY CHSTATUS of the RCVR show STOPREQ(YES) but still be running.
Explanation
SDR-RCVR channel is half-duplex. The RCVR channel only gets a chance to say things to the SDR at certain points in the protocol. One of those points is in response to a Heartbeat flow (the other is at the end of a batch of messages). So the RCVR cannot tell the SDR that it is time to stop until he gets a chance to 'speak'. This is why it takes until the HBINT passes before the stop is actioned.

Of course if you say STOP CHANNEL(name) MODE(FORCE) at a RCVR that has a different effect, it kills the TCP/IP socket, and the SDR will notice that sooner.

Cheers,
Morag
_________________
Morag Hughson @MoragHughson
IBM MQ Technical Education Specialist
Get your IBM MQ training here!
MQGem Software
Back to top
View user's profile Send private message Visit poster's website
dextermbmq
PostPosted: Wed Aug 21, 2019 2:41 am    Post subject: Reply with quote

Voyager

Joined: 26 Jul 2014
Posts: 77

Thanks Glen(yes I ended the runmqlsr process) and Morag.


Does that mean even if the RCVR listener process is down, the TCP network link created when we started the SDR channel (that connects to the RCVR Queue Manager over the RCVR Listener
port) would still be able to successfully send the Heartbeats and the RCVR Queue Manager would be able to acknowledge and respond to them ?

I did test the HBINT behavour by issuing the STOP CHANNEL command to the RCVR channel and the SDR channel status showed MCASTAT(NOT RUNNING) in 5mins.

Regards
Back to top
View user's profile Send private message
PeterPotkay
PostPosted: Wed Aug 21, 2019 3:51 pm    Post subject: Reply with quote

Poobah

Joined: 15 May 2001
Posts: 7717

dextermbmq wrote:

Does that mean even if the RCVR listener process is down, the TCP network link created when we started the SDR channel (that connects to the RCVR Queue Manager over the RCVR Listener
port) would still be able to successfully send the Heartbeats and the RCVR Queue Manager would be able to acknowledge and respond to them ?

Yes.

The Listener process only listens for new incoming connections and hands them off to other processes. Once that hand off occurs the Listener process does not know or care about what happens with those channels.
_________________
Peter Potkay
Keep Calm and MQ On
Back to top
View user's profile Send private message
hughson
PostPosted: Wed Aug 21, 2019 6:52 pm    Post subject: Reply with quote

Padawan

Joined: 09 May 2013
Posts: 1914
Location: Bay of Plenty, New Zealand


_________________
Morag Hughson @MoragHughson
IBM MQ Technical Education Specialist
Get your IBM MQ training here!
MQGem Software
Back to top
View user's profile Send private message Visit poster's website
HubertKleinmanns
PostPosted: Thu Aug 22, 2019 1:02 am    Post subject: Reply with quote

Shaman

Joined: 24 Feb 2004
Posts: 732
Location: Germany

dextermbmq wrote:
Does that mean even if the RCVR listener process is down, the TCP network link created when we started the SDR channel (that connects to the RCVR Queue Manager over the RCVR Listener
port) would still be able to successfully send the Heartbeats and the RCVR Queue Manager would be able to acknowledge and respond to them ?


There are two processes you may look for:

- amqrmppa: This is the channel pooling process, which handles one or more incoming channel connections.

- runmqchl: This is a process of an outgoing channel.

Killing these processes would kill the channel connection.

So if you want to stop a sender channel, look for a process like this
Code:
runmqchl -c <your_channel_name>


and kill this process.
_________________
Regards
Hubert
Back to top
View user's profile Send private message Visit poster's website
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » General Discussion » Channel disconnection after HBINT expires
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.