Reject a stale preference update after a partition retry
A retry queue delivers an old enable event after a newer disable event has already committed.
- Focused work estimate
- 3h 30m + prerequisites
- Priority in the scenario
- Medium
- Engineering practice
- Event ordering · Conflict handling
Estimated field mix
- Data engineering60%
- Distributed systems40%
Field percentages are editorial estimates of the ticket's engineering focus. They total 100%; they are not measured time, proficiency scores, or ownership evidence.
Review it, then add it to your workspace.
The board opens an editable draft; nothing is saved until you confirm it. Sign-in and workspace permissions apply, and Demo boards remain ephemeral.
Project context
A fictional messaging service builds a read model from database changes. Restarts and schema changes can re-enable preferences that customers disabled.
Setup prerequisites
- Create synthetic preference records and a replayable local change log.
- Use adapters or fixtures without provisioning a production broker.
Preceding work
Complete these dependencies, or supply their agreed outputs before taking this ticket.
Acceptance criteria
- Compare per-record source ordering before mutation.
- Retain stale-delivery counters without changing state.
- Treat equal position with different content as a conflict.
Implementation constraints
- Do not use consumer wall time to resolve ordering.
Verification to include
- Deliver disable before an older enable and retain disabled.
- Send contradictory equal-position data and quarantine the conflict.
Deliverables
- Per-record ordering guard
Rollout and recovery
Observe stale counts during canary; pause conflicting partitions instead of guessing order.
Value of the work
For the engineer: Practice change-feed ordering, snapshots and privacy-preserving deletion.
For the team: Review whether replicated customer preferences remain correct during recovery.
Evidence boundaries
Outcome Evidence: Tests, patches, and runbooks are requested deliverables. They become Outcome Evidence only through a qualified Mission and immutable Evidence IDs.
Ownership Evidence: Independent adaptation must be observed under a declared verification policy and cite immutable Evidence IDs. Completing a planning ticket establishes no Ownership Evidence.