Repair one preference partition while continuing unrelated reads
One replica partition is corrupted; rebuilding the entire preference service would unnecessarily interrupt all accounts.
- Focused work estimate
- 6h + prerequisites
- Priority in the scenario
- Medium
- Engineering practice
- Scoped recovery · Consistency
Estimated field mix
- Data engineering50%
- Distributed systems30%
- Database engineering20%
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.
- ACDC-101 · Define the preference change envelope with source position
- ACDC-103 · Represent preference deletion as a durable tombstone
- ACDC-104 · Advance the feed checkpoint only with the projected transaction
- ACDC-105 · Reject a stale preference update after a partition retry
- ACDC-106 · Handoff a preference snapshot to live changes without a gap
- ACDC-107 · Evolve a preference value enum without silently coercing unknown values
- ACDC-108 · Compare source and replica preferences without exporting contacts
Acceptance criteria
- Rebuild only the selected source scope into a new generation.
- Catch up from the recorded boundary before pointer swap.
- Prevent repaired and old generations from mixing in one scoped read.
Implementation constraints
- Require a dry-run plan and explicit partition identity.
Verification to include
- Repair a synthetic partition and preserve unrelated output hashes.
- Interrupt before swap and retain complete reads from the old generation.
Deliverables
- Partition repair command and atomic-read probe
Rollout and recovery
Canary repair on a synthetic scope; switch its pointer back if reconciliation fails.
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.