|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
Will active connections be broken if mq listener is stopped? |
« View previous topic :: View next topic » |
Author |
Message
|
bbburson |
Posted: Wed Mar 17, 2004 9:20 am Post subject: Will active connections be broken if mq listener is stopped? |
|
|
Partisan
Joined: 06 Jan 2004 Posts: 378 Location: Nowhere near a queue manager
|
Background: we recently changed from using inetd to using runmqlsr on a Sun cluster queue manager. The change process removed amqcrsta from inetd.conf and started the mq listener. However, we failed to update the Sun cluster data service, and the listener was not started after a reboot
So, we manually started the listener and there are many clients connected to the queue manager. We now want to fix the cluster data service, which will kill the current listener and start a new one under cluster control.
The iffy part is what will happen to the client connections that are currently active. Will they stay connected when the listener goes down (the old inetd amqcrsta processes stayed around even when inetd was no longer listening on port 1414); OR will the clients have to re-connect when the mq listener is bounced?
Any thoughts? I haven't found anything on the IBM site or in the documents that addresses this.
Thanks,
Bruce Burson |
|
Back to top |
|
 |
Michael Dag |
Posted: Wed Mar 17, 2004 1:51 pm Post subject: |
|
|
 Jedi Knight
Joined: 13 Jun 2002 Posts: 2607 Location: The Netherlands (Amsterdam)
|
Bruce,
IF the clients are programmed 'correctly' i.e. take into account a 'connection' can be broken for whatever reason, they can and should re-connect.
You can bring down the listener using endmqlsr and use netstat -a | grep portnumber to see if there are still active connections.
rough method would be to find the process id of the listener and kill it.
If possible I would try and inform your users... If you don't want to take any risks... hold your breath until your next service window.  _________________ Michael
MQSystems Facebook page |
|
Back to top |
|
 |
bbburson |
Posted: Wed Mar 17, 2004 2:25 pm Post subject: Thanks |
|
|
Partisan
Joined: 06 Jan 2004 Posts: 378 Location: Nowhere near a queue manager
|
Thanks, Michael.
After I posted the question I did some experimentation on a server with multiple queue managers running listeners. Here's what I found:
First I set up a looping process that put messages to a remote queue on QM1 to get the channel active going to QM2. The QM2 runmqlsr process spawned a child amqrmppa process.
While the channel was active I killed the listener on QM2 (you cannot use endmqlsr if the queue manager is up). The amqrmppa process stayed around, no longer a child of runmqlsr but a root-level process. Messages still flowed across the channel.
Then I started a new listener for QM2. After that I put a message on yet another queue manager QM3 destined for QM2. What I *expected* to see was that runmqlsr for QM2 would spawn a new amqrmppa process, but NOOO! the new channel connected using the same amqrmppa that had been around from the start.
Bottom line, the connections DO NOT get broken when the listener is killed and restarted.
But our application group is still chary about the change and has insisted that we wait until the weekend to modify the Sun cluster data service. Like you said, we'll hold our breath against a server failure between now and then.
Bruce |
|
Back to top |
|
 |
PeterPotkay |
Posted: Wed Mar 17, 2004 5:04 pm Post subject: |
|
|
 Poobah
Joined: 15 May 2001 Posts: 7722
|
The amqrmppa process has a pool of (I believe) 64 threads. So if the amqrmppa process was up, and not all 64 threads were used up, you would not see another amqrmppa process if another channel started. _________________ Peter Potkay
Keep Calm and MQ On |
|
Back to top |
|
 |
|
|
 |
|
Page 1 of 1 |
|
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
|
|
|
|