Skip to content

Error subcodes

For the complete documentation index see: llms.txt

All documentation pages available in markdown.

This page describes error subcodes that disambiguate overloaded top-level error codes. Each subcode integer is meaningful only together with its parent status.

Applies to

  • Aerospike Database 8.2.0 and later
  • A client library that exposes error details (see Server error details)

Audience

  • Developers who dispatch on (status, subcode) pairs
  • Operators cross-referencing failures against server behavior

Constant names follow the server’s naming, and this page is the authoritative catalog. Client libraries expose the same values under their own constant names, for example the SubCode class in the Java client or as_subcode.h in the C client. A client’s catalog can lag the server’s, so where a client constant and this page disagree, this page is correct. See the error-handling page for your client.

Subcode values are stable: once published, an integer never changes meaning, and retired values are not reused.

AS_ERR_PARAMETER (4)

SubcodeConstantSummary
1AS_SUB_PARAM_TTL_INVALIDRecord TTL exceeds the 10-year protocol maximum
2AS_SUB_PARAM_BITS_OFFSET_OUT_OF_RANGEBits op offset past the proto size cap
3AS_SUB_PARAM_BITS_SIZE_OUT_OF_RANGEBits op size out of range
4AS_SUB_PARAM_BITS_RESIZE_EXCEEDEDBits resize, insert, or remove would exceed the maximum blob size
5AS_SUB_PARAM_BIN_COUNT_TOO_LARGEWrite would exceed per-record bin-count limit
6AS_SUB_PARAM_STRING_OP_PARAMS_INVALIDString op parameters malformed or inconsistent
7AS_SUB_PARAM_STRING_OP_INVALIDUnreadable string op code, or an op used in the wrong read/modify direction
8AS_SUB_PARAM_STRING_CTX_MALFORMEDString operation context is malformed
9AS_SUB_PARAM_STRING_INDEX_OUT_OF_BOUNDSString op index or range out of bounds
10AS_SUB_PARAM_STRING_REGEX_INVALIDRegular expression is not valid ICU syntax, or failed to compile
11AS_SUB_PARAM_STRING_UTF8_INVALIDString argument is not valid UTF-8

AS_ERR_UNAVAILABLE (11)

SubcodeConstantSummary
1AS_SUB_UNAVAIL_INITIAL_BALANCE_UNRESOLVEDCluster still resolving initial partition balance
2AS_SUB_UNAVAIL_REPLICA_UNAVAILABLENeeded replica unavailable (possible partition split)
3AS_SUB_UNAVAIL_NODE_SHUTTING_DOWNNode is shutting down and leaving the cluster

AS_ERR_UNSUPPORTED_FEATURE (16)

SubcodeConstantSummary
1AS_SUB_UNSUPP_FEAT_MRT_REQUIRES_STRONG_CONSISTENCYMulti-record transaction (MRT) used against a namespace without strong consistency
2AS_SUB_UNSUPP_FEAT_GENERICRequested feature unsupported in this context

AS_ERR_BIN_NOT_FOUND (17)

SubcodeConstantSummary
1AS_SUB_BIN_NOT_FOUND_HLL_CANNOT_CREATE_WITH_OPHLL op cannot create the bin it was given

AS_ERR_BIN_NAME (21)

SubcodeConstantSummary
1AS_SUB_BIN_NAME_COUNT_TOO_LARGERecord is at or over the UDF bin-count limit (UDF path)

AS_ERR_FORBIDDEN (22)

SubcodeConstantSummary
1AS_SUB_FORBID_XDR_FILTER_BLOCKEDWrite blocked by XDR ship filter
2AS_SUB_FORBID_SET_COUNT_STOP_WRITESSet-level record-count stop-writes
3AS_SUB_FORBID_SET_SIZE_STOP_WRITESSet-level size stop-writes
4AS_SUB_FORBID_CLOCK_SKEW_STOP_WRITESWrites stopped due to cluster clock skew
5AS_SUB_FORBID_REPLACE_CONFLICT_RESOLVINGREPLACE forbidden while resolving conflicts
6AS_SUB_FORBID_TRUNCATEDSet or namespace mid-truncate
8AS_SUB_FORBID_DURABILITY_VIOLATIONNon-durable delete forbidden

Subcodes 7 and 9 are retired and not reused.

AS_ERR_OP_NOT_APPLICABLE (26)

SubcodeConstantSummary
1AS_SUB_OPNOT_CDT_INDEX_OUT_OF_BOUNDSList/map index out of range. Also raised for an out-of-range rank on an ordered list
2AS_SUB_OPNOT_CDT_RANK_OUT_OF_BOUNDSRequested rank past the population, in either direction, on a single-result op
3AS_SUB_OPNOT_CDT_BOUNDED_LIST_OVERFLOWInsert into a bounded list at an index past the end
4AS_SUB_OPNOT_HLL_INDEX_BITS_UNSETHLL op must create the bin but the op omitted index_bits
5AS_SUB_OPNOT_HLL_CANNOT_REDUCE_INDEX_BITSUnion cannot reduce index_bits without fold
6AS_SUB_OPNOT_HLL_CANNOT_REDUCE_MINHASH_BITSUnion cannot reduce minhash bits without fold
7AS_SUB_OPNOT_HLL_CANNOT_FOLD_MINHASHFold blocked because sketch carries minhash
8AS_SUB_OPNOT_HLL_FOLD_INDEX_BITS_TOO_LARGEFold target index_bits greater than current. Folding to the current value is allowed
9AS_SUB_OPNOT_HLL_INTERSECT_MINHASH_MISMATCHIntersect inputs have mismatched minhash params
10AS_SUB_OPNOT_STRING_CONVERSION_FAILEDString conversion, for example to a number, failed
11AS_SUB_OPNOT_STRING_UTF8_INVALIDStored value is not valid UTF-8 for this string op
12AS_SUB_OPNOT_STRING_REGEX_LIMIT_EXCEEDEDRegular expression exceeded the engine resource budget
13AS_SUB_OPNOT_STRING_B64_INVALIDString is not valid Base64

AS_ERR_MRT_BLOCKED (120)

SubcodeConstantSummary
1AS_SUB_MRT_BLOCKED_RECORD_LOCKEDRecord locked by another MRT
2AS_SUB_MRT_BLOCKED_ID_MISMATCHOp belongs to a different MRT than the lock holder

Statuses without subcodes

Many statuses are already specific enough that the server emits no subcode. For example, AS_ERR_BIN_EXISTS (6), AS_ERR_GENERATION (3), and AS_ERR_RECORD_TOO_BIG (13). For those failures, rely on the top-level code and any message text at verbosity 2.

AS_ERR_FILTERED_OUT (27) also carries no subcode. At verbosity 3, a filtered-out single-record operation can instead include an expression trace explaining which part of the filter rejected the record. See Expression traces.