-
1. Re: Frequency of ping packets
ataylor Jul 9, 2010 3:24 AM (in response to jbmuser)30 or 30000, i think its in milliseconds!
-
2. Re: Frequency of ping packets
jbmuser Jul 9, 2010 3:30 AM (in response to ataylor)Ofcourse It was set to 30000 in config file.
-
3. Re: Frequency of ping packets
ataylor Jul 9, 2010 3:32 AM (in response to jbmuser)how long before the clients are timed out and can u post your config
-
4. Re: Frequency of ping packets
jbmuser Jul 9, 2010 4:04 AM (in response to ataylor)Client doesn't time out in my case. It is the server that closes client connection saying "didn't receive ping..."
My hornetq-jms.xml configuration is as given below
<configuration xmlns="urn:hornetq"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="urn:hornetq /schema/hornetq-jms.xsd"><connection-factory name="NettyConnectionFactory">
<connectors>
<connector-ref connector-name="netty"/>
</connectors>
<entries>
<entry name="/ConnectionFactory"/>
<entry name="/XAConnectionFactory"/>
</entries>
<block-on-durable-send>true</block-on-durable-send>
<block-on-acknowledge>true</block-on-acknowledge>
<connection-ttl>600000</connection-ttl>
<call-timeout>180000</call-timeout>
<client-failure-check-period>60000</client-failure-check-period>
<block-on-non-durable-send>true</block-on-non-durable-send>
<retry-interval>4000</retry-interval>
<reconnect-attempts>5</reconnect-attempts>
<confirmation-window-size>1000000</confirmation-window-size>
</connection-factory><queue name="DLQ">
<entry name="/queue/DLQ"/>
</queue>
<queue name="ExpiryQueue">
<entry name="/queue/ExpiryQueue"/>
</queue>
<queue name="ExampleQueue">
<entry name="/queue/ExampleQueue"/>
</queue>
<topic name="ExampleTopic">
<entry name="/topic/ExampleTopic"/>
</topic></configuration>
-
5. Re: Frequency of ping packets
jbmuser Jul 9, 2010 4:06 AM (in response to jbmuser)The config had <connection-ttl>30000</connection-ttl> when I hit the issue.
-
6. Re: Frequency of ping packets
timfox Jul 9, 2010 4:45 AM (in response to jbmuser)Bijith Kumar wrote:
Hi All,
HornetQ server and client send a heart beat ping packets to each other periodically so that they can detect a connection failure when these packets are not received for connection-ttl and client-failure-check-period respectively. What is the frequency of these ping packets?
I am asking this because, when I set conenction-ttl to 30 seconds, server closes the live client connection saying "Did not receive ping from.....". So, I want to make sure I am not setting connection-ttl or client-failure-check-period less than the frequency of the ping messages
Bijith
http://hornetq.sourceforge.net/docs/hornetq-2.1.1.Final/user-manual/en/html/connection-ttl.html
The timeout is defined by connection-ttl
The ping frequency is defined by client-failure-check-period
If you set them to be the same, then of course, connection will be timed out.
connection ttl should normally be much > client-failure-check-period
-
7. Re: Frequency of ping packets
jbmuser Jul 9, 2010 7:13 AM (in response to timfox)mm.. I am confused. What I understood from document is that
1. Every client sends ping packets periodically to server to let server know that client is alive
2. Server also sends ping mesages to all its clients periodically to let client know that Server is alive
3. If server doesn't receive ping packets from a client within connection-ttl time, server assumes that client is dead and cleans up its resources
4. If client doesn't receive ping packets from a server within client-failure-check-period time, client assumes that server is down and initiates automatic failover (if it is enabled) or throws Exception from Conenction so that ExceptionListener if any can handle failover
5. "connection ttl should normally be much > client-failure-check-period". This is true because otherwise clients wouldn't get a chance to failover and reconnect when connection to server fails.
6. "The ping frequency is defined by client-failure-check-period", I am confused here. The document is silent on this and my understanding of client-failure-check-period is as given in #4 above. i.e. my understanding is that both connection-ttl and client-failure-check-period are timeouts. One is at server side and other at client side. Could you please clarify?
Your help is greatly appreciated
Bijith
-
8. Re: Frequency of ping packets
timfox Jul 9, 2010 8:08 AM (in response to jbmuser)1. Every client sends ping packets periodically to server to let server know that client is alive
Yes
2. Server also sends ping mesages to all its clients periodically to let client know that Server is alive
No. Pings are sent to the client when the server receives a ping.
3. If server doesn't receive ping packets from a client within connection-ttl time, server assumes that client is dead and cleans up its resources
Yes
4. If client doesn't receive ping packets from a server within client-failure-check-period time, client assumes that server is down and initiates automatic failover (if it is enabled) or throws Exception from Conenction so that ExceptionListener if any can handle failover
Yes
5. "connection ttl should normally be much > client-failure-check-period". This is true because otherwise clients wouldn't get a chance to failover and reconnect when connection to server fails.
No, this is so you don't get false connection clean ups. The client must send pings to the server faster than connection-ttl otherwise the server may erroneously think the client is dead.
6. "The ping frequency is defined by client-failure-check-period",
It defines the client timeout but also defines the client ping frequency.
-
9. Re: Frequency of ping packets
jbmuser Jul 9, 2010 8:39 AM (in response to timfox)Tim, thank you for the clarification.
Btw, if client-failure-check-period defines the client ping frequency as well, then what would be the frequency when client-failure-check-period is set to -1?
From document:
"The default value for client failure check period is 30000ms, i.e. 30 seconds. A value of -1 means the client will never fail the connection on the client side if no data is received from the server. Typically this is much lower than connection TTL to allow clients to reconnect in case of transitory failure."
Thanks
Bijith
-
10. Re: Frequency of ping packets
timfox Jul 9, 2010 11:12 AM (in response to jbmuser)Btw, if client-failure-check-period defines the client ping frequency as well, then what would be the frequency when client-failure-check-period is set to -1?
That disables pinging
-