in curator-client/src/main/java/org/apache/curator/ConnectionState.java [203:250]
private boolean checkState(Event.KeeperState state, boolean wasConnected) {
boolean isConnected = wasConnected;
boolean checkNewConnectionString = true;
switch (state) {
default:
case Disconnected: {
isConnected = false;
break;
}
case SyncConnected:
case ConnectedReadOnly: {
isConnected = true;
break;
}
case AuthFailed: {
isConnected = false;
log.error("Authentication failed");
break;
}
case Expired: {
isConnected = false;
checkNewConnectionString = false;
handleExpiredSession();
break;
}
case SaslAuthenticated: {
// NOP
break;
}
}
// the session expired is logged in handleExpiredSession, so not log here
if (state != Event.KeeperState.Expired) {
new EventTrace(state.toString(), tracer.get(), getSessionId()).commit();
}
if (checkNewConnectionString) {
String newConnectionString = handleHolder.getNewConnectionString();
if (newConnectionString != null) {
handleNewConnectionString(newConnectionString);
}
}
return isConnected;
}