- The
50msbackoff window was never entered byw-mergeorw-reap. - The worker in the
50mswindow committed something: it is not the one sitting at0 ops. w-drainis not the worker that committed41k ops.- The
500mswindow does not belong tow-reap. w-mergedid not commit41k ops.- A recovery transition line the audit index says was never written:
[recovery] transition rejected — nx::epoch=…. Bob reads it, shrugs, and calls it a torn write.
06 / polite forever
The graphs were beautiful. That was the first thing wrong with them.
[ALERT] INC-0006 — Reconciliation backlog static for 90m
[INFO ] recovery workers: 3/3 running
[INFO ] cpu: 94% sustained
[INFO ] state transitions against the static backlog: 2,114,880
[WARN ] commits against the static backlog: 3
Two million state transitions. Three commits.
Andy scrolled the transition log until the lines stopped meaning anything: claim, yield, reclaim, yield, claim. Two workers passing the same batch back and forth with the manners of people stuck in a doorway.
“Not a deadlock,” he said, before Bob could.
Bob sat down anyway. “No. A deadlock stops. You can see a deadlock from orbit — nothing moves, everyone panics, someone kills a process, we all go to lunch.”
He gestured at the CPU graph, flat and high.
“This one looks like the team working late. It’ll look like that until the quarter ends.”
Andy pulled the commit counters. One worker had done everything. One had done almost nothing. One had done nothing at all, and had been doing nothing at all with tremendous energy.
Workers are healthy. CPU is healthy. Backlog hasn't moved since 02:01.
Nothing in that evidence list tells you a worker's backoff outright. You'll have to take the ones away that can't be.
Left columns are workers and backoff windows. Rows are commit counts and backoff windows. One backoff and one commit count each.
Find the worker that committed nothing at all. Format: worker, backoff, committed.
fault
Progress without completion
sample
90m
severity
SEV-2
| w-reap | w-drain | w-merge | 50ms | 500ms | 5s | |
|---|---|---|---|---|---|---|
| 0 ops | ||||||
| 3 ops | ||||||
| 41k ops | ||||||
| 50ms | ||||||
| 500ms | ||||||
| 5s |
Question: Which worker made no progress at all, on which backoff, with what committed?