Skip to content

Error Codes ​

DSM exceptions expose stable machine-readable error codes through DsmException.errorCode(). Use the exception type to identify the failure domain and the code to drive retry policy, metrics, logs, and alert routing.

Code Categories ​

RangeDomainTypical exception surfaceOperator meaning
DSM-0xxxRuntime lifecycle / fallbackDsmExceptionRuntime state or uncategorized DSM failure.
DSM-1xxxConfigurationDsmConfigurationExceptionBad runtime, collection, codec, lease, or secret configuration.
DSM-2xxxSecurityDsmSecurityExceptionHMAC, nonce, key version, admission, encryption, or sender ban failure.
DSM-3xxxConsistencyDsmConsistencyExceptionOwner verify, conflict resolver, migration, or eviction consistency boundary.
DSM-4xxxSync protocolSyncProtocolExceptionWire payload, snapshot, replay, or delta protocol violation.
DSM-5xxxTransportDsmTransportExceptionConnection or send failure.
DSM-6xxxCodecCodecExceptionSerialization, deserialization, record codec, or schema fingerprint failure.
DSM-7xxxMigrationDsmMigrationExceptionMigration timeout or conflicting ownership lineage.
DSM-8xxxLease and fencingLease/fencing exceptionsStale holder, quorum unavailable, or fencing rejection.
DSM-9xxxChange streamsChangeStreamOverflowExceptionBounded change stream overflow or backpressure surface.

High-Signal Codes ​

CodeNameMeaningFirst action
DSM-0001RUNTIME_START_STATE_INVALIDRuntime start was requested from an invalid lifecycle state.Check startup ordering and duplicate lifecycle calls.
DSM-1001DUPLICATE_COLLECTION_LOCATORTwo collections tried to register the same locator.Fix bootstrap configuration or dynamic registration ownership.
DSM-1003SERVICE_ID_REQUIREDRuntime builder could not resolve a service ID.Set dsm.service-id or builder serviceId(...).
DSM-1017LEASE_RENEW_SKEW_INVALIDLease renew skew is not smaller than the lease term.Fix lease timing properties.
DSM-2001HMAC_INVALIDSecure envelope signature failed.Treat as security signal; check shared secret and possible tampering.
DSM-2006SECURITY_ENCRYPTION_REQUIREDNode requiring encryption received plaintext.Check mixed-mode rollout and encryption settings.
DSM-2007SECURITY_SENDER_BANNEDSender exceeded verification failure threshold.Inspect sender identity and failed auth rate.
DSM-2008KEY_VERSION_BELOW_MINIMUMEnvelope key version is below local minimum.Check key rotation rollout.
DSM-3004CONFLICT_RESOLVER_NOT_COMMUTATIVECustom resolver produced different winners for (A, B) and (B, A).Fix resolver before production rollout.
DSM-3005CONFLICT_RESOLVER_INVALID_METADATAMerged entity did not carry valid lineage metadata.Preserve or construct valid EntityMetadata in resolver output.
DSM-4002WIRE_VERSION_INCOMPATIBLEPeer advertised unsupported wire version.Check rolling upgrade window.
DSM-6003SCHEMA_INCOMPATIBLERecord codec fingerprint mismatch.Align entity record schemas across nodes.
DSM-8001FENCING_REJECTEDStale holder attempted a fenced side effect.Stop stale worker path and inspect lease lineage.
DSM-8002QUORUM_UNAVAILABLEQUORUM lease cannot prove safe majority.Inspect membership stability and visible peer count.
DSM-9001CHANGE_STREAM_OVERFLOWChange stream buffer overflowed under ERROR policy.Tune consumer speed, buffer size, or overflow policy.

Handling Guidance ​

CategoryRetry?Escalate?Notes
ConfigurationnoyesFail fast; retries hide a bad deployment.
Securityno by defaultyesDo not log secrets, HMACs, nonce values, or decrypted payloads.
ConsistencydependsyesResolve the ownership, resolver, or schema cause before retrying side effects.
Sync protocolusually noyesProtocol mismatches indicate bad rollout, corrupt payload, or incompatible peer.
Transportyes with backoffmaybeRetry only if the operation is idempotent or guarded by lineage/fencing.
CodecnoyesCodec errors usually mean incompatible binaries or payload shape.
Change streamsmaybenoChange streams are observability surfaces, not durable event streams.