Author |
Message
|
Shalini |
Posted: Wed Aug 18, 2004 6:50 am Post subject: |
|
|
Master
Joined: 30 Apr 2002 Posts: 224 Location: India
|
Hi,
Thanks for reply.
Can I get more clarity for the concept.
Say for instance I have client1, client2, and client3 connecting to my QM1 thro svrconn for which I have enabled the keep alive.
Note default timeout =2hrs
client1 connects to QM1 @ 0.00 hrs (one connection)
client1 again creates new connection to QM1 @ 0.01 (second connection)
client2 connects to QM1 @ 1.00 hrs (another connection)
client 3 connects to QM! @ 1.30 hrs (fourth connection).
client1 connection network break down and they are unable to connect to QM1 till 2.05 hrs to QM1 (i.e. for > 2hrs).
Will the resultant connection to QM1 will be 2 (of client 2 & 3) or 0 .
 |
|
Back to top |
|
 |
hguapluas |
Posted: Wed Aug 18, 2004 8:13 am Post subject: |
|
|
Centurion
Joined: 05 Aug 2004 Posts: 105 Location: San Diego
|
Under the basic "keep alive" concept of operation, client 2 and 3 would still be connected as those connections each are still under the 2 hour timeout. Each connection should be maintaining it's own keep alive timer. But, I am not sure how MQ may be handling this, if done differently. Any GM's out there to shed light on this? Does MQ follow standard practice or implement it's own scheme for keep alive timeouts? |
|
Back to top |
|
 |
Shalini |
Posted: Wed Aug 18, 2004 9:40 pm Post subject: |
|
|
Master
Joined: 30 Apr 2002 Posts: 224 Location: India
|
Hi hguapluas,
Some time back even I had a doubt since, If the connection comes within 2 hrs from (say for e.g. from Client2 and Client 3). The total would be 4 since other new connection may (reset) initiate the timer to more 2 hrs and resulting holding all old as well as new connection resulting 4 connection even client 1 is not active for more than 2hrs.
If some Gurus can clear the concept of Keep Alive with respect to Client connection and such time out option would be gr8 .
 |
|
Back to top |
|
 |
hguapluas |
Posted: Thu Aug 19, 2004 8:14 am Post subject: |
|
|
Centurion
Joined: 05 Aug 2004 Posts: 105 Location: San Diego
|
Bear in mind that each queue "should" be running it's own independent timer. So given situation:
Q1 at 119 minutes
Q2 at 100 minutes
Q3 at 30 minutes
Q3 sends/receives messages. 5 minutes later, status should be:
Q1 disconnects at 120 minutes, now down for 4 minutes (total 124)
Q2 at 105 minutes
Q3 at 5 minutes
Each queue represents an independent session and each session will maintain it's own session parameters.
Hope this helps out. |
|
Back to top |
|
 |
Shalini |
Posted: Thu Aug 19, 2004 9:45 am Post subject: |
|
|
Master
Joined: 30 Apr 2002 Posts: 224 Location: India
|
Hi hguapluas,
Thanks for your reply and good clarity.
Even I tested the set up, where only client 1 which completes 2 Hrs disconnects.
Other (Client 2 and 3) remains until they complete 2 Hrs without disconnecting from QM due to network issue.
Did you ever had a chance of setting the timeout period for the KeepAlive
(2hrs is default) but I want to change the value.
 |
|
Back to top |
|
 |
hguapluas |
Posted: Thu Aug 19, 2004 1:05 pm Post subject: |
|
|
Centurion
Joined: 05 Aug 2004 Posts: 105 Location: San Diego
|
Welcome.
I have not had to re-adjust the values yet but will likely be doing that on production queues in the near future. This should be documented in the Intercommunications Reference manual. You will likely have to use the amq... commands to make this modification.
In the windows MQ Explorer, when defining your channels, you can modify the Disconnect value which is at 6000 (100 minutes). I do believe though, that some others have had problems with this not working as expected. You may want to search the message board for those posts for more information.
Cheers |
|
Back to top |
|
 |
Nigelg |
Posted: Fri Aug 20, 2004 4:10 am Post subject: |
|
|
Grand Master
Joined: 02 Aug 2004 Posts: 1046
|
WMQ does not keep any timer on the connection. The SVRCONN channel MCA is waiting in recv(), and will continue to wait until data does arrive or there is an error. KeepAlive is implemented in TCP, and causes the connection to return, with errno ETIMEDOUT, at the expiry of the KeepAlive interval. This error will cause the SVRCONN channel to end.
The KeepAlive interval is set in TCP, for example using 'no'. The KeepAlive=YES in the Channels stanza of qm.ini merely causes the channel to enable KeepAlive on the open socket.
Note that since this discussion is about client channel, DISCINT is not relevant. |
|
Back to top |
|
 |
PeterPotkay |
Posted: Fri Aug 20, 2004 1:18 pm Post subject: |
|
|
 Poobah
Joined: 15 May 2001 Posts: 7722
|
Quote: |
This error will cause the SVRCONN channel to end.
|
Only if the other side of the channel, the remote socket, is gone, right? A SVRCONN channel that is valid, but not sending any data (MQCONN, and then sleep for 10 hours) will not be terminated at the passing of KeepAlive. _________________ Peter Potkay
Keep Calm and MQ On |
|
Back to top |
|
 |
|