1.4 KiB
1.4 KiB
ADDED Requirements
Requirement: Cache Publish MUST Preserve Previous Readable Snapshot on Failure
When refreshing full-table cache payloads, the system MUST avoid exposing partially published states to readers.
Scenario: Publish fails after payload serialization
- WHEN a cache refresh has prepared new payload but publish operation fails
- THEN previously published cache keys MUST remain readable and metadata MUST remain consistent with old snapshot
Scenario: Publish succeeds
- WHEN publish operation completes successfully
- THEN data payload and metadata keys MUST be visible as one coherent new snapshot
Requirement: Process-Level Cache Slow Path SHALL Minimize Lock Hold Time
Large payload parsing MUST NOT happen inside long-held process cache locks.
Scenario: Cache miss under concurrent requests
- WHEN multiple requests hit process cache miss
- THEN parsing work SHALL happen outside lock-protected mutation section, and lock scope SHALL be limited to consistency check + commit
Requirement: Process-Level Cache Policies MUST Stay Consistent Across Services
All service-local process caches MUST support bounded capacity with deterministic eviction.
Scenario: Realtime equipment cache growth
- WHEN realtime equipment process cache reaches configured capacity
- THEN entries MUST be evicted according to deterministic LRU behavior