# A logistics order service has run dual writes for three years

Canonical URL: <https://datadriven.io/problems/a-logistics-order-service-has-run-dual-writes-for-three-year-733cc050>

Domain: Pipeline Design · Difficulty: medium

## Problem

A logistics order service has run dual writes for three years. The recon job catches 0.4% silent loss and 0.05% phantom events; notifications occasionally fire for orders that never shipped. The principal engineer is asked to replace the dual write with outbox plus CDC end to end without an outage. The section's four-step migration: shadow (dual-write plus outbox in parallel, compare counts), cutover (consumers read outbox-fed Kafka), verify (no drift), retire (recon job removed once drift stays clean). Walk the migration by composing the four steps, each with what runs in production at that step and the verification gate that lets the next step proceed.

## Related

- [All practice problems](https://datadriven.io/problems)
- [Mock interview mode](https://datadriven.io/interview/a-logistics-order-service-has-run-dual-writes-for-three-year-733cc050)
- [System Design Interview Questions](https://datadriven.io/data-engineering-system-design)
- [Data Engineering Interview Prep Guide](https://datadriven.io/data-engineer-interview-prep)
- [Daily Challenge](https://datadriven.io/daily)

---

Source: DataDriven (https://datadriven.io). 100% free data engineering interview prep. Live code execution against Postgres 16, Python 3.11, and Spark sandboxes. No paywall, no premium tier, no signup gate.