Re: Does session expiration only happen during total ensemble failure or network split?

2009-01-07 Thread Mahadev Konar
Kevin,
 the case you mention, the session is not really expired unless the quorum
decides to expire it. So the client assuming that the session expired would
be wrong to say. It is possible that as soon as you bring up the servers,
the client reconnects with the same session and the session is still valid.

Why would you want the session to expire if all the servers are down (which
should not happen unless you kill all the nodes or the datacenter is down) ?



mahadev


On 1/7/09 12:39 PM, Kevin Burton bur...@spinn3r.com wrote:

 
 The ZK ensemble leader expires the client session if it doesn't hear from
 the client w/in the timeout specified by the client when the session was
 established.
 
 A client will disconnect from a server in the ensemble and attempt
 reconnect to another server in the ensemble if it doesn't hear from the
 server w/in 2/3 of the specified session timeout.
 
 
 OK... I got that part.  The issue I'm running into now though is that my
 sessions aren't actually timing out when I shutdown all servers in an
 ensemble.
 
 One solution/hack would be to record how long you've been disconnected and
 assume that your session has been expired.
 
 Kevin



Re: Does session expiration only happen during total ensemble failure or network split?

2009-01-07 Thread Patrick Hunt

Mahadev Konar wrote:

Why would you want the session to expire if all the servers are down (which
should not happen unless you kill all the nodes or the datacenter is down) ?


A more likely case is that the client port on the switch dies and the 
client is partitioned from the servers...


Patrick



mahadev


On 1/7/09 12:39 PM, Kevin Burton bur...@spinn3r.com wrote:


The ZK ensemble leader expires the client session if it doesn't hear from
the client w/in the timeout specified by the client when the session was
established.

A client will disconnect from a server in the ensemble and attempt
reconnect to another server in the ensemble if it doesn't hear from the
server w/in 2/3 of the specified session timeout.


OK... I got that part.  The issue I'm running into now though is that my
sessions aren't actually timing out when I shutdown all servers in an
ensemble.

One solution/hack would be to record how long you've been disconnected and
assume that your session has been expired.

Kevin