Kevin Burton wrote:
From what I can tell, a session will only expire if it can't communicate with the ensemble due to the entire servers failing or the network splitting preventing a ZK node from seeing the servers. Correct?
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.
Then in this case, an application should in theory only care about session expiration and ZK internal errors (protocol errors, etc).
In general this may be true, but not in all cases. Patrick