Source code for kazoo.exceptions

"""Kazoo Exceptions"""
from collections import defaultdict


[docs]class KazooException(Exception): """Base Kazoo exception that all other kazoo library exceptions inherit from"""
[docs]class ZookeeperError(KazooException): """Base Zookeeper exception for errors originating from the Zookeeper server"""
[docs]class CancelledError(KazooException): """Raised when a process is cancelled by another thread"""
[docs]class ConfigurationError(KazooException): """Raised if the configuration arguments to an object are invalid"""
[docs]class ZookeeperStoppedError(KazooException): """Raised when the kazoo client stopped (and thus not connected)"""
[docs]class ConnectionDropped(KazooException): """Internal error for jumping out of loops"""
[docs]class LockTimeout(KazooException): """Raised if failed to acquire a lock. .. versionadded:: 1.1 """
[docs]class WriterNotClosedException(KazooException): """Raised if the writer is unable to stop closing when requested. .. versionadded:: 1.2 """
class SASLException(KazooException): """Raised if SASL encountered a (local) error. .. versionadded:: 2.7.0 """ def _invalid_error_code(): raise RuntimeError("Invalid error code") EXCEPTIONS = defaultdict(_invalid_error_code) def _zookeeper_exception(code): def decorator(klass): EXCEPTIONS[code] = klass klass.code = code return klass return decorator
[docs]@_zookeeper_exception(0) class RolledBackError(ZookeeperError): pass
[docs]@_zookeeper_exception(-1) class SystemZookeeperError(ZookeeperError): pass
[docs]@_zookeeper_exception(-2) class RuntimeInconsistency(ZookeeperError): pass
[docs]@_zookeeper_exception(-3) class DataInconsistency(ZookeeperError): pass
[docs]@_zookeeper_exception(-4) class ConnectionLoss(ZookeeperError): pass
[docs]@_zookeeper_exception(-5) class MarshallingError(ZookeeperError): pass
[docs]@_zookeeper_exception(-6) class UnimplementedError(ZookeeperError): pass
[docs]@_zookeeper_exception(-7) class OperationTimeoutError(ZookeeperError): pass
[docs]@_zookeeper_exception(-8) class BadArgumentsError(ZookeeperError): pass
@_zookeeper_exception(-13) class NewConfigNoQuorumError(ZookeeperError): pass @_zookeeper_exception(-14) class ReconfigInProcessError(ZookeeperError): pass
[docs]@_zookeeper_exception(-100) class APIError(ZookeeperError): pass
[docs]@_zookeeper_exception(-101) class NoNodeError(ZookeeperError): pass
[docs]@_zookeeper_exception(-102) class NoAuthError(ZookeeperError): pass
[docs]@_zookeeper_exception(-103) class BadVersionError(ZookeeperError): pass
[docs]@_zookeeper_exception(-108) class NoChildrenForEphemeralsError(ZookeeperError): pass
[docs]@_zookeeper_exception(-110) class NodeExistsError(ZookeeperError): pass
[docs]@_zookeeper_exception(-111) class NotEmptyError(ZookeeperError): pass
[docs]@_zookeeper_exception(-112) class SessionExpiredError(ZookeeperError): pass
[docs]@_zookeeper_exception(-113) class InvalidCallbackError(ZookeeperError): pass
[docs]@_zookeeper_exception(-114) class InvalidACLError(ZookeeperError): pass
[docs]@_zookeeper_exception(-115) class AuthFailedError(ZookeeperError): pass
[docs]@_zookeeper_exception(-118) class SessionMovedError(ZookeeperError): pass
[docs]@_zookeeper_exception(-119) class NotReadOnlyCallError(ZookeeperError): """An API call that is not read-only was used while connected to a read-only server"""
@_zookeeper_exception(-125) class QuotaExceededError(ZookeeperError): """Exceeded the quota that was set on the path"""
[docs]class ConnectionClosedError(SessionExpiredError): """Connection is closed"""
# BW Compat aliases for C lib style exceptions ConnectionLossException = ConnectionLoss MarshallingErrorException = MarshallingError SystemErrorException = SystemZookeeperError RuntimeInconsistencyException = RuntimeInconsistency DataInconsistencyException = DataInconsistency UnimplementedException = UnimplementedError OperationTimeoutException = OperationTimeoutError BadArgumentsException = BadArgumentsError ApiErrorException = APIError NoNodeException = NoNodeError NoAuthException = NoAuthError BadVersionException = BadVersionError NoChildrenForEphemeralsException = NoChildrenForEphemeralsError NodeExistsException = NodeExistsError InvalidACLException = InvalidACLError AuthFailedException = AuthFailedError NotEmptyException = NotEmptyError SessionExpiredException = SessionExpiredError InvalidCallbackException = InvalidCallbackError