in finagle-serversets/src/main/java/com/twitter/finagle/common/zookeeper/ZooKeeperUtils.java [76:110]
public static boolean isRetryable(KeeperException e) {
Objects.requireNonNull(e);
switch (e.code()) {
case CONNECTIONLOSS:
case SESSIONEXPIRED:
case SESSIONMOVED:
case OPERATIONTIMEOUT:
return true;
case RUNTIMEINCONSISTENCY:
case DATAINCONSISTENCY:
case MARSHALLINGERROR:
case BADARGUMENTS:
case NONODE:
case NOAUTH:
case BADVERSION:
case NOCHILDRENFOREPHEMERALS:
case NODEEXISTS:
case NOTEMPTY:
case INVALIDCALLBACK:
case INVALIDACL:
case AUTHFAILED:
case UNIMPLEMENTED:
// These two should not be encountered - they are used internally by ZK to specify ranges
case SYSTEMERROR:
case APIERROR:
case OK: // This is actually an invalid ZK exception code
default:
return false;
}
}