Skip to content

ADR-105: Eventually Consistent Reads for Config

Status: Accepted Date: 2026-01-18 Issue: #129

Context

DynamoDB offers two read consistency modes:

Consistency Cost Typical Latency
Strongly consistent 1 RCU / 4KB Higher
Eventually consistent 0.5 RCU / 4KB Lower

Config reads fetch 3 items per cache miss (System, Resource, Entity). With caching (ADR-103), we already accept 60s staleness for config changes.

Decision

Use eventually consistent reads for all config fetches.

Rationale: Since the caching layer accepts 60s staleness, sub-second DynamoDB eventual consistency is negligible. This reduces config fetch cost from 3 RCU to 1.5 RCU per cache miss.

Consequences

Positive: - 50% RCU cost reduction for config reads - Lower latency (eventually consistent reads are faster) - Aligned with caching semantics (staleness already accepted)

Negative: - Theoretical sub-second staleness on config reads (negligible given 60s cache TTL)

Alternatives Considered

Strongly Consistent Reads

Rejected: 2x cost for no practical benefit; caching already introduces 60s staleness window.

Mixed Consistency (strong for entity, eventual for system/resource)

Rejected: Adds complexity; consistency should be uniform across config levels.