Error Codes

NodeDB uses NodeDbError — a struct with numeric ErrorCode, human-readable message, machine-matchable ErrorDetails, and optional chained cause.

Error Categories

Code RangeCategoryExamples
1000–1099Write pathConstraint violation, deadline
1100–1199Read pathCollection not found
1200–1299QueryParse error, plan error
2000–2099AuthAuthorization denied
3000–3099SyncDelta rejected, sync error
4000–4099StorageSegment corrupted, WAL error
5000–5099ConfigBad request, invalid config
6000–6099ClusterNo quorum, shard unavailable
7000–7099MemoryBudget exceeded
8000–8099EncryptionKey error, decrypt failure
9000–9099InternalUnexpected internal error

Common Errors

ErrorCodeResolution
COLLECTION_NOT_FOUND1100Check collection name
TYPE_MISMATCH1020Check data types in query
CONSTRAINT_VIOLATION1000Duplicate key — use UPSERT
DEADLINE_EXCEEDED1002Query took too long
INSUFFICIENT_BALANCE1022Not enough for TRANSFER
OVERFLOW1021i64 overflow on INCR
AUTHORIZATION_DENIED2000Check RBAC grants
SYNC_DELTA_REJECTED3001CRDT sync constraint failed

Error Construction

Errors are created via constructors: NodeDbError::storage("detail"), NodeDbError::collection_not_found("users"), etc.