-
-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Labels
enhancementNew feature or requestNew feature or request
Milestone
Description
Overview
Optimize state reconstruction for long-lived streams by periodically saving snapshots and starting reconstruction from snapshot instead of version 0.
Depends on: #247 (Performance Benchmarking Suite) - need performance data to determine if snapshots are necessary and what snapshot frequency makes sense.
Design
SnapshotStore Trait
save_snapshot(stream_id, version, state)methodload_snapshot(stream_id)returns(version, state)- Snapshots stored alongside events
- Automatic snapshot creation at configurable intervals
Executor Integration
- Check for snapshot before reading events
- If snapshot exists, start from snapshot version
- Apply only events after snapshot
Benchmark-Driven
- Use benchmark data to determine optimal snapshot frequency
Acceptance Criteria
- Benchmark data reviewed to determine if snapshots needed
- SnapshotStore trait defined
- Snapshot save/load implemented
- Executor loads from snapshot when available
- Configurable snapshot frequency
- Benchmark documents performance improvement
Migrated from beads issue: eventcore-012
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request