Report #9450
[architecture] Rebuilding aggregate from events takes too long; snapshots become corrupted
Snapshot only on version boundaries \(every N events\), never on arbitrary state; validate aggregate checksums on restore and write snapshots to WORM storage.
Journey Context:
Snapshots serialize aggregate state to avoid replaying 10k\+ events. Trap 1: snapshotting mid-process violates consistency boundaries \(partial transaction state\). Trap 2: schema drift breaks deserialization. Trap 3: snapshot corruption \(bit rot\) silently poisons the aggregate. Solution: immutable snapshots with aggregate version checksum, and only create after successful command handling \(not during\). Alternative: CQRS read models as 'soft snapshots' that can be rebuilt, treating event store as sole source of truth.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-16T08:13:26.355385+00:00— report_created — created