aerospike.exception — Aerospike Exceptions
Example
This is a simple example on how to catch an exception thrown by the Aerospike client:
import aerospike
from aerospike import exception as ex
try:
config = { 'hosts': [ ('127.0.0.1', 3000)], 'policies': { 'total_timeout': 1200}}
client = aerospike.client(config).connect()
client.close()
except ex.AerospikeError as e:
print("Error: {0} [{1}]".format(e.msg, e.code))
New in version 1.0.44.
Base Class
- exception aerospike.exception.AerospikeError
The parent class of all exceptions raised by the Aerospike client.
An exception of this class type must have the following attributes:
- code
The associated status code.
- msg
The human-readable error message.
- file
File where the exception occurred.
- line
Line in the file where the exception occurred.
- in_doubt
Trueif it is possible that the operation succeeded. See In Doubt Status.
In addition to accessing these attributes by their names, they can also be checked by calling
exc.args[i], whereexcis the exception object andiis the index of the attribute in the order they appear above. For example, runexc.args[4]to get thein_doubtflag.Inherits from
exceptions.Exception.
Client Errors
- exception aerospike.exception.ClientError
Exception class for client-side errors, often due to misconfiguration or misuse of the API methods.
- exception aerospike.exception.InvalidHostError
Subclass of
ClientError.
- exception aerospike.exception.ParamError
The operation was not performed because of invalid parameters.
Subclass of
ClientError.
- exception aerospike.exception.MaxErrorRateExceeded
The operation was not performed because the maximum error rate has been exceeded.
Subclass of
ClientError.
Server Errors
- exception aerospike.exception.ServerError
The parent class for all errors returned from the cluster.
- exception aerospike.exception.InvalidRequest
Protocol-level error.
Subclass of
ServerError.
- exception aerospike.exception.OpNotApplicable
The operation cannot be applied to the current bin value on the server.
Subclass of
ServerError.
- exception aerospike.exception.FilteredOut
The transaction was not performed because the expression was false.
Subclass of
ServerError.
- exception aerospike.exception.ServerFull
The server node is running out of memory and/or storage device space reserved for the specified namespace.
Subclass of
ServerError.
- exception aerospike.exception.AlwaysForbidden
Operation not allowed in current configuration.
Subclass of
ServerError.
- exception aerospike.exception.UnsupportedFeature
Encountered an unimplemented server feature.
Subclass of
ServerError.
- exception aerospike.exception.DeviceOverload
The server node’s storage device(s) can’t keep up with the write load.
Subclass of
ServerError.
- exception aerospike.exception.NamespaceNotFound
Namespace in request not found on server.
Subclass of
ServerError.
- exception aerospike.exception.ForbiddenError
Operation not allowed at this time.
Subclass of
ServerError.
- exception aerospike.exception.ElementExistsError
Raised when trying to alter a map key which already exists, when using a
create_onlypolicy.Subclass of
ServerError.
- exception aerospike.exception.ElementNotFoundError
Raised when trying to alter a map key which does not exist, when using an
update_onlypolicy.Subclass of
ServerError.
Record Errors
- exception aerospike.exception.RecordError
The parent class for record and bin exceptions exceptions associated with read and write operations.
- key
The key identifying the record.
- bin
(Optional) the bin associated with the error.
Subclass of
ServerError.
- exception aerospike.exception.RecordKeyMismatch
Record key sent with transaction did not match key stored on server.
Subclass of
RecordError.
- exception aerospike.exception.RecordNotFound
Record does not exist in database. May be returned by either a read or a write with the policy
aerospike.POLICY_EXISTS_UPDATE.Subclass of
RecordError.
- exception aerospike.exception.RecordGenerationError
Generation of record in database does not satisfy write policy.
Subclass of
RecordError.
- exception aerospike.exception.RecordExistsError
Record already exists. May be returned by a write with policy
aerospike.POLICY_EXISTS_CREATE.Subclass of
RecordError.
- exception aerospike.exception.RecordBusy
Too may concurrent requests for one record - a “hot-key” situation.
Subclass of
RecordError.
- exception aerospike.exception.RecordTooBig
Record being (re-)written can’t fit in a storage write block.
Subclass of
RecordError.
- exception aerospike.exception.BinNameError
Length of bin name exceeds the limit of 14 characters.
Subclass of
RecordError.
- exception aerospike.exception.BinIncompatibleType
Bin modification operation can’t be done on an existing bin due to its value type (for example appending to an integer).
Subclass of
RecordError.
Index Errors
- exception aerospike.exception.IndexError
The parent class for indexing exceptions.
- index_name
The name of the index associated with the error.
Subclass of
ServerError.
- exception aerospike.exception.IndexNotFound
Subclass of
IndexError.
- exception aerospike.exception.IndexFoundError
Subclass of
IndexError.
- exception aerospike.exception.IndexOOM
The index is out of memory.
Subclass of
IndexError.
- exception aerospike.exception.IndexNotReadable
Subclass of
IndexError.
- exception aerospike.exception.IndexNameMaxLen
Subclass of
IndexError.
- exception aerospike.exception.IndexNameMaxCount
Reached the maximum allowed number of indexes.
Subclass of
IndexError.
Query Errors
- exception aerospike.exception.QueryError
Exception class for query errors.
Subclass of
AerospikeError.
- exception aerospike.exception.QueryQueueFull
Subclass of
QueryError.
- exception aerospike.exception.QueryTimeout
Subclass of
QueryError.
Cluster Errors
- exception aerospike.exception.ClusterError
Cluster discovery and connection errors.
Subclass of
AerospikeError.
- exception aerospike.exception.ClusterChangeError
A cluster state change occurred during the request. This may also be returned by scan operations with the
fail-on-cluster-changeflag set.Subclass of
ClusterError.
Admin Errors
- exception aerospike.exception.AdminError
The parent class for exceptions of the security API.
- exception aerospike.exception.ExpiredPassword
Subclass of
AdminError.
- exception aerospike.exception.ForbiddenPassword
Subclass of
AdminError.
- exception aerospike.exception.IllegalState
Subclass of
AdminError.
- exception aerospike.exception.InvalidCommand
Subclass of
AdminError.
- exception aerospike.exception.InvalidCredential
Subclass of
AdminError.
- exception aerospike.exception.InvalidField
Subclass of
AdminError.
- exception aerospike.exception.InvalidPassword
Subclass of
AdminError.
- exception aerospike.exception.InvalidPrivilege
Subclass of
AdminError.
- exception aerospike.exception.InvalidRole
Subclass of
AdminError.
- exception aerospike.exception.InvalidUser
Subclass of
AdminError.
- exception aerospike.exception.NotAuthenticated
Subclass of
AdminError.
- exception aerospike.exception.RoleExistsError
Subclass of
AdminError.
- exception aerospike.exception.RoleViolation
Subclass of
AdminError.
- exception aerospike.exception.SecurityNotEnabled
Subclass of
AdminError.
- exception aerospike.exception.SecurityNotSupported
Subclass of
AdminError.
- exception aerospike.exception.SecuritySchemeNotSupported
Subclass of
AdminError.
- exception aerospike.exception.UserExistsError
Subclass of
AdminError.
UDF Errors
- exception aerospike.exception.UDFError
The parent class for UDF exceptions exceptions.
Subclass of
ServerError.- module
The UDF module associated with the error.
- func
Optionally the name of the UDF function.
Exception Hierarchy
AerospikeError (*)
+-- TimeoutError (9)
+-- ClientError (-1)
| +-- InvalidHost (-4)
| +-- ParamError (-2)
+-- ServerError (1)
+-- InvalidRequest (4)
+-- ServerFull (8)
+-- AlwaysForbidden (10)
+-- UnsupportedFeature (16)
+-- DeviceOverload (18)
+-- NamespaceNotFound (20)
+-- ForbiddenError (22)
+-- ElementNotFoundError (23)
+-- ElementExistsError (24)
+-- RecordError (*)
| +-- RecordKeyMismatch (19)
| +-- RecordNotFound (2)
| +-- RecordGenerationError (3)
| +-- RecordExistsError (5)
| +-- RecordTooBig (13)
| +-- RecordBusy (14)
| +-- BinNameError (21)
| +-- BinIncompatibleType (12)
+-- IndexError (204)
| +-- IndexNotFound (201)
| +-- IndexFoundError (200)
| +-- IndexOOM (202)
| +-- IndexNotReadable (203)
| +-- IndexNameMaxLen (205)
| +-- IndexNameMaxCount (206)
+-- QueryError (213)
| +-- QueryQueueFull (211)
| +-- QueryTimeout (212)
+-- ClusterError (11)
| +-- ClusterChangeError (7)
+-- AdminError (*)
| +-- SecurityNotSupported (51)
| +-- SecurityNotEnabled (52)
| +-- SecuritySchemeNotSupported (53)
| +-- InvalidCommand (54)
| +-- InvalidField (55)
| +-- IllegalState (56)
| +-- InvalidUser (60)
| +-- UserExistsError (61)
| +-- InvalidPassword (62)
| +-- ExpiredPassword (63)
| +-- ForbiddenPassword (64)
| +-- InvalidCredential (65)
| +-- InvalidRole (70)
| +-- RoleExistsError (71)
| +-- RoleViolation (81)
| +-- InvalidPrivilege (72)
| +-- NotAuthenticated (80)
+-- UDFError (*)
+-- UDFNotFound (1301)
+-- LuaFileNotFound (1302)
In Doubt Status
The
in-doubtstatus of a caught exception can be checked by looking at the 5th element of its args tuple:key = 'test', 'demo', 1 record = {'some': 'thing'} try: client.put(key, record) except AerospikeError as exc: print("The in doubt nature of the operation is: {}".format(exc.args[4])
New in version 3.0.1.