Reliability · data completeness
Automated Data Revision & Recovery
Impact
Operators can repair a named hourly gap without treating any replay as inherently safe or widening the rebuild before the evidence supports it.
- Hourly scope first
- Input-ready rebuild
- Source verification
01 · Problem & operating context
A green pipeline had still produced a partial hour.
In one production delivery, the target could look healthy while an upstream task was still adding late records to an hourly partition. A downstream read that opened too early produced a partial result, and a nonzero row check did not expose that the hour was incomplete.
The recovery question was not whether to replay the pipeline. It was which hour disagreed with the source, whether the upstream input had actually finished, and how to repair that slice without pulling unrelated data into the work.
02 · My role & ownership
I turned revision into a controlled recovery path.
I redesigned and refactored the legacy revision mechanism around four questions: where source and target disagree, which hourly partitions are affected, whether the required input is ready, and how quickly repairs should start.
I also connected the targeted rebuild to source verification. The surrounding producers and datasets remain shared platform work, and rerun safety still depends on the selected scope, input, output-commit behavior, and concurrency conditions of the particular repair.
- Redesigned
- Source-to-destination comparison, hourly selection, and input readiness.
- Refactored
- Legacy revision mechanism with controlled revision start rate.
- Connected
- Bounded rebuild and source verification after repair.
Redesigned the revision path around source comparison, hourly scope, and input readiness.
Refactored the legacy mechanism and added controlled revision start rate.
Connected targeted rebuilds with source verification after repair.
The surrounding streaming and batch platform remains shared infrastructure.
03 · System architecture
Reconcile, wait, start slowly, then verify.
The workflow compares source and destination state, identifies affected hourly partitions, waits for input readiness, controls revision start rate, and invokes a targeted rebuild. Source verification closes the loop, so a successful command is not mistaken for recovered data.
The state transition is explicit: discrepancy → hourly scope → ready input → targeted rebuild → source verification. Each handoff gives an operator a place to inspect the plan or stop before a write starts.
- Detect
- Reconcile source and destination state.
- Plan
- Select the affected hourly scope, check input readiness, and control start rate.
- Close
- Rebuild the slice and verify it against the source.
04 · Decisions & trade-offs
A completion signal is safer than a clock.
A fixed delay can make an hourly job appear stable until an upstream producer writes late data. I chose an input-readiness gate tied to the producer state, rather than treating elapsed time or a broad replay as proof that an hour was safe to rebuild.
The plan uses reconciliation, hourly scope, readiness, and a controlled start rate. It does not claim a global concurrency limit or universal idempotence: safe reruns depend on the specific input, output commit, and execution conditions, so the repaired slice is checked against its source.
Select an affected, input-ready hourly scope and control the revision start rate before rebuilding it.
Replay a broad range as soon as a discrepancy appears.
The recovery action should match the evidence and limit the blast radius.
The system needs reliable comparison, readiness checks, output-commit discipline, and a post-rebuild source check.
05 · Failure modes & recovery
A recovery plan can stop before it writes.
The interface keeps comparison, hourly selection, input readiness, rebuild, and source verification separate. If the discrepancy cannot be localized or the input is still arriving, the plan stops instead of broadening the blast radius.
After a targeted rebuild, the source check must show that the selected gap is gone. A completed job alone is not a recovery result, and an unresolved difference remains visible for further investigation.
- Failure signal
- Source and destination state disagree, the hourly scope is ambiguous, or input is not ready.
- Attribution
- Reconciliation, hourly selection, and readiness stages keep the failure boundary explicit.
- Response
- Stop when the plan is ambiguous or input is unavailable; otherwise run the targeted rebuild at the controlled start rate.
- Authority
- The recovery interface and its operator own the decision to execute the plan.
- Recovery check
- Source verification checks the repaired slice after the rebuild, not just the job status.
06 · Evidence & boundaries
Evidence & boundaries
- Verified result
- The revision lifecycle exposes hourly scope, input readiness, controlled start, targeted rebuild, and source verification.
- Contribution scope
- I redesigned and refactored a legacy revision mechanism, adding affected-hourly-partition selection, input-readiness checks, and controlled revision start rate.
- Metrics not established by public material
- No public replay-time, cost, or completeness delta is established.