databasev2 4 part A, task 6. Mostly documentation, plus one real fix the
full battery caught.
THE FIX. The drain held EVERY DB reply until the barrier — including
reads, which stage nothing and have no stake in durability. That parked
readers behind an fsync for no reason: durable.sN.mixread.p99 rose from
~1043us to 4057us. Only a statement that actually staged a record now has
its reply held. Caught by the gate, not by review.
THE TRADE, recorded rather than smoothed over. What remains is inherent: a
barrier blocks the owner shard LONGER (more records per fsync) though LESS
OFTEN, so anything queued behind one waits. Three full runs of the same
build gave durable.sN.mixread.p99 of 1043 / 2318 / 4147us and wmix.p99 of
8758 / 20000us — a 2-4x spread with the box near idle. So part A buys ~3x
write throughput at the cost of a longer, noisier tail on the owner shard,
and that is the strongest argument for part B (submit and keep serving).
- durable.sN.*.p99us tolerance widened to 100% WITH the reason in the
code: a 2-4x-variable tail gated at 50% gates the disk, not the engine.
The floor is the real guard and is not slack — mixread's (4172us) came
within 25us of tripping on the worst run. Baseline refreshed; a fresh
full run then passed 106 checks 0 failures
EXIT STATUS MOVED 3 -> 74 (sysexits EX_IOERR). 3 and 4 are already used by
SAMPLES for their own meanings — db-bench's own `verify` exits 3 on a
checksum mismatch, and it is the gate that exercises durability, so a
durability abort exiting 3 would have been indistinguishable from the
mismatch it should help diagnose. The low range belongs to programs.
Docs:
- story: progress, the payoff measured two ways, the cost side, criteria
split met/outstanding, and a "part B — its premise changed" section:
it was justified by "close the 66x gap", but that gap is two problems
and only the concurrent one was a batching problem
- board: standup entry in the six-question shape; both databasev2 4 rows
rewritten. They had said "close the 66x gap" — recorded as MIS-STATED
rather than quietly renumbered
- 00-wob-format.md and 04-db-binding.md: the normative failure contract
("a failed WAL commit traps WO_T_IO after un-applying the row") was
false; corrected, along with the tick-scoped group commit that never
happened
- database/src/CODE-LOGIC.md: where the barrier runs and why there, why
replies are held, why the inline path is asymmetric, the one failure
rule, and how to measure it
- db-bench README: the wmix mode, the env knobs, and the tmpfs warning
Battery: wovm-test 36 suites 0 fail, woc-test, oop-e2e 119/0,
db-bench 106/0, linkcheck clean.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
525 lines
No EOL
9.1 KiB
JSON
525 lines
No EOL
9.1 KiB
JSON
{
|
|
"_config": {
|
|
"N": 20000,
|
|
"crash_reps": 3,
|
|
"msg_n": 200000,
|
|
"note": "refresh only with a commit that says why; tolerances come from tolerance_for() in the driver",
|
|
"wal_n": 4000
|
|
},
|
|
"durable.s1.mixread.ops_sec": {
|
|
"dir": "higher",
|
|
"floor": 2173,
|
|
"tolerance_pct": 50,
|
|
"value": 8695
|
|
},
|
|
"durable.s1.mixread.p50us": {
|
|
"dir": "lower",
|
|
"floor": 100,
|
|
"tolerance_pct": 50,
|
|
"value": 1
|
|
},
|
|
"durable.s1.mixread.p99us": {
|
|
"dir": "lower",
|
|
"floor": 100,
|
|
"tolerance_pct": 50,
|
|
"value": 14
|
|
},
|
|
"durable.s1.mixwrite.ops_sec": {
|
|
"dir": "higher",
|
|
"floor": 241,
|
|
"tolerance_pct": 50,
|
|
"value": 966
|
|
},
|
|
"durable.s1.mixwrite.p50us": {
|
|
"dir": "lower",
|
|
"floor": 1744,
|
|
"tolerance_pct": 50,
|
|
"value": 436
|
|
},
|
|
"durable.s1.mixwrite.p99us": {
|
|
"dir": "lower",
|
|
"floor": 2832,
|
|
"tolerance_pct": 50,
|
|
"value": 708
|
|
},
|
|
"durable.s1.query.ops_sec": {
|
|
"dir": "higher",
|
|
"floor": 314465,
|
|
"tolerance_pct": 50,
|
|
"value": 1257861
|
|
},
|
|
"durable.s1.query.p50us": {
|
|
"dir": "lower",
|
|
"floor": 100,
|
|
"tolerance_pct": 50,
|
|
"value": 1
|
|
},
|
|
"durable.s1.query.p99us": {
|
|
"dir": "lower",
|
|
"floor": 100,
|
|
"tolerance_pct": 50,
|
|
"value": 1
|
|
},
|
|
"durable.s1.read.ops_sec": {
|
|
"dir": "higher",
|
|
"floor": 318714,
|
|
"tolerance_pct": 50,
|
|
"value": 1274859
|
|
},
|
|
"durable.s1.read.p50us": {
|
|
"dir": "lower",
|
|
"floor": 100,
|
|
"tolerance_pct": 50,
|
|
"value": 1
|
|
},
|
|
"durable.s1.read.p99us": {
|
|
"dir": "lower",
|
|
"floor": 100,
|
|
"tolerance_pct": 50,
|
|
"value": 1
|
|
},
|
|
"durable.s1.seed.ops_sec": {
|
|
"dir": "higher",
|
|
"floor": 1102,
|
|
"tolerance_pct": 15,
|
|
"value": 4409
|
|
},
|
|
"durable.s1.seed.p50us": {
|
|
"dir": "lower",
|
|
"floor": 844,
|
|
"tolerance_pct": 15,
|
|
"value": 211
|
|
},
|
|
"durable.s1.seed.p99us": {
|
|
"dir": "lower",
|
|
"floor": 2280,
|
|
"tolerance_pct": 15,
|
|
"value": 570
|
|
},
|
|
"durable.s1.wmix.mean_batch": {
|
|
"dir": "higher",
|
|
"floor": 0.0,
|
|
"tolerance_pct": 100,
|
|
"value": 1.0
|
|
},
|
|
"durable.s1.wmix.ops_sec": {
|
|
"dir": "higher",
|
|
"floor": 396,
|
|
"tolerance_pct": 15,
|
|
"value": 1586
|
|
},
|
|
"durable.s1.wmix.p50us": {
|
|
"dir": "lower",
|
|
"floor": 1780,
|
|
"tolerance_pct": 15,
|
|
"value": 445
|
|
},
|
|
"durable.s1.wmix.p99us": {
|
|
"dir": "lower",
|
|
"floor": 2728,
|
|
"tolerance_pct": 15,
|
|
"value": 682
|
|
},
|
|
"durable.s1.wmix.peak_batch": {
|
|
"dir": "higher",
|
|
"floor": 0,
|
|
"tolerance_pct": 100,
|
|
"value": 1
|
|
},
|
|
"durable.s1.wmix.peak_staged": {
|
|
"dir": "lower",
|
|
"floor": 196,
|
|
"tolerance_pct": 100,
|
|
"value": 49
|
|
},
|
|
"durable.s1.write.ops_sec": {
|
|
"dir": "higher",
|
|
"floor": 584,
|
|
"tolerance_pct": 15,
|
|
"value": 2338
|
|
},
|
|
"durable.s1.write.p50us": {
|
|
"dir": "lower",
|
|
"floor": 1744,
|
|
"tolerance_pct": 15,
|
|
"value": 436
|
|
},
|
|
"durable.s1.write.p99us": {
|
|
"dir": "lower",
|
|
"floor": 2588,
|
|
"tolerance_pct": 15,
|
|
"value": 647
|
|
},
|
|
"durable.sN.mixread.ops_sec": {
|
|
"dir": "higher",
|
|
"floor": 1251,
|
|
"tolerance_pct": 50,
|
|
"value": 5007
|
|
},
|
|
"durable.sN.mixread.p50us": {
|
|
"dir": "lower",
|
|
"floor": 240,
|
|
"tolerance_pct": 50,
|
|
"value": 60
|
|
},
|
|
"durable.sN.mixread.p99us": {
|
|
"dir": "lower",
|
|
"floor": 14156,
|
|
"tolerance_pct": 100,
|
|
"value": 3539
|
|
},
|
|
"durable.sN.mixwrite.ops_sec": {
|
|
"dir": "higher",
|
|
"floor": 139,
|
|
"tolerance_pct": 50,
|
|
"value": 556
|
|
},
|
|
"durable.sN.mixwrite.p50us": {
|
|
"dir": "lower",
|
|
"floor": 2220,
|
|
"tolerance_pct": 50,
|
|
"value": 555
|
|
},
|
|
"durable.sN.mixwrite.p99us": {
|
|
"dir": "lower",
|
|
"floor": 21280,
|
|
"tolerance_pct": 100,
|
|
"value": 5320
|
|
},
|
|
"durable.sN.query.ops_sec": {
|
|
"dir": "higher",
|
|
"floor": 309981,
|
|
"tolerance_pct": 50,
|
|
"value": 1239925
|
|
},
|
|
"durable.sN.query.p50us": {
|
|
"dir": "lower",
|
|
"floor": 100,
|
|
"tolerance_pct": 50,
|
|
"value": 1
|
|
},
|
|
"durable.sN.query.p99us": {
|
|
"dir": "lower",
|
|
"floor": 100,
|
|
"tolerance_pct": 100,
|
|
"value": 1
|
|
},
|
|
"durable.sN.read.ops_sec": {
|
|
"dir": "higher",
|
|
"floor": 291987,
|
|
"tolerance_pct": 50,
|
|
"value": 1167951
|
|
},
|
|
"durable.sN.read.p50us": {
|
|
"dir": "lower",
|
|
"floor": 100,
|
|
"tolerance_pct": 50,
|
|
"value": 1
|
|
},
|
|
"durable.sN.read.p99us": {
|
|
"dir": "lower",
|
|
"floor": 100,
|
|
"tolerance_pct": 100,
|
|
"value": 1
|
|
},
|
|
"durable.sN.seed.ops_sec": {
|
|
"dir": "higher",
|
|
"floor": 1121,
|
|
"tolerance_pct": 50,
|
|
"value": 4484
|
|
},
|
|
"durable.sN.seed.p50us": {
|
|
"dir": "lower",
|
|
"floor": 844,
|
|
"tolerance_pct": 50,
|
|
"value": 211
|
|
},
|
|
"durable.sN.seed.p99us": {
|
|
"dir": "lower",
|
|
"floor": 2248,
|
|
"tolerance_pct": 100,
|
|
"value": 562
|
|
},
|
|
"durable.sN.wmix.mean_batch": {
|
|
"dir": "higher",
|
|
"floor": 1.0,
|
|
"tolerance_pct": 100,
|
|
"value": 6.35
|
|
},
|
|
"durable.sN.wmix.ops_sec": {
|
|
"dir": "higher",
|
|
"floor": 1535,
|
|
"tolerance_pct": 50,
|
|
"value": 6140
|
|
},
|
|
"durable.sN.wmix.p50us": {
|
|
"dir": "lower",
|
|
"floor": 26480,
|
|
"tolerance_pct": 50,
|
|
"value": 6620
|
|
},
|
|
"durable.sN.wmix.p99us": {
|
|
"dir": "lower",
|
|
"floor": 48548,
|
|
"tolerance_pct": 100,
|
|
"value": 12137
|
|
},
|
|
"durable.sN.wmix.peak_batch": {
|
|
"dir": "higher",
|
|
"floor": 15,
|
|
"tolerance_pct": 100,
|
|
"value": 60
|
|
},
|
|
"durable.sN.wmix.peak_staged": {
|
|
"dir": "lower",
|
|
"floor": 11760,
|
|
"tolerance_pct": 100,
|
|
"value": 2940
|
|
},
|
|
"durable.sN.write.ops_sec": {
|
|
"dir": "higher",
|
|
"floor": 579,
|
|
"tolerance_pct": 50,
|
|
"value": 2317
|
|
},
|
|
"durable.sN.write.p50us": {
|
|
"dir": "lower",
|
|
"floor": 1752,
|
|
"tolerance_pct": 50,
|
|
"value": 438
|
|
},
|
|
"durable.sN.write.p99us": {
|
|
"dir": "lower",
|
|
"floor": 2628,
|
|
"tolerance_pct": 100,
|
|
"value": 657
|
|
},
|
|
"ram.s1.mixread.ops_sec": {
|
|
"dir": "higher",
|
|
"floor": 22428,
|
|
"tolerance_pct": 50,
|
|
"value": 89712
|
|
},
|
|
"ram.s1.mixread.p50us": {
|
|
"dir": "lower",
|
|
"floor": 100,
|
|
"tolerance_pct": 50,
|
|
"value": 1
|
|
},
|
|
"ram.s1.mixread.p99us": {
|
|
"dir": "lower",
|
|
"floor": 100,
|
|
"tolerance_pct": 50,
|
|
"value": 2
|
|
},
|
|
"ram.s1.mixwrite.ops_sec": {
|
|
"dir": "higher",
|
|
"floor": 2492,
|
|
"tolerance_pct": 50,
|
|
"value": 9968
|
|
},
|
|
"ram.s1.mixwrite.p50us": {
|
|
"dir": "lower",
|
|
"floor": 100,
|
|
"tolerance_pct": 50,
|
|
"value": 1
|
|
},
|
|
"ram.s1.mixwrite.p99us": {
|
|
"dir": "lower",
|
|
"floor": 100,
|
|
"tolerance_pct": 50,
|
|
"value": 1
|
|
},
|
|
"ram.s1.msgrate.msgs_sec": {
|
|
"dir": "higher",
|
|
"floor": 1756111,
|
|
"tolerance_pct": 15,
|
|
"value": 14048890
|
|
},
|
|
"ram.s1.query.ops_sec": {
|
|
"dir": "higher",
|
|
"floor": 208073,
|
|
"tolerance_pct": 50,
|
|
"value": 832292
|
|
},
|
|
"ram.s1.query.p50us": {
|
|
"dir": "lower",
|
|
"floor": 100,
|
|
"tolerance_pct": 50,
|
|
"value": 1
|
|
},
|
|
"ram.s1.query.p99us": {
|
|
"dir": "lower",
|
|
"floor": 100,
|
|
"tolerance_pct": 50,
|
|
"value": 2
|
|
},
|
|
"ram.s1.read.ops_sec": {
|
|
"dir": "higher",
|
|
"floor": 254556,
|
|
"tolerance_pct": 50,
|
|
"value": 1018226
|
|
},
|
|
"ram.s1.read.p50us": {
|
|
"dir": "lower",
|
|
"floor": 100,
|
|
"tolerance_pct": 50,
|
|
"value": 1
|
|
},
|
|
"ram.s1.read.p99us": {
|
|
"dir": "lower",
|
|
"floor": 100,
|
|
"tolerance_pct": 50,
|
|
"value": 1
|
|
},
|
|
"ram.s1.seed.ops_sec": {
|
|
"dir": "higher",
|
|
"floor": 56107,
|
|
"tolerance_pct": 15,
|
|
"value": 224429
|
|
},
|
|
"ram.s1.seed.p50us": {
|
|
"dir": "lower",
|
|
"floor": 100,
|
|
"tolerance_pct": 15,
|
|
"value": 4
|
|
},
|
|
"ram.s1.seed.p99us": {
|
|
"dir": "lower",
|
|
"floor": 100,
|
|
"tolerance_pct": 15,
|
|
"value": 13
|
|
},
|
|
"ram.s1.write.ops_sec": {
|
|
"dir": "higher",
|
|
"floor": 45587,
|
|
"tolerance_pct": 15,
|
|
"value": 182351
|
|
},
|
|
"ram.s1.write.p50us": {
|
|
"dir": "lower",
|
|
"floor": 100,
|
|
"tolerance_pct": 15,
|
|
"value": 8
|
|
},
|
|
"ram.s1.write.p99us": {
|
|
"dir": "lower",
|
|
"floor": 100,
|
|
"tolerance_pct": 15,
|
|
"value": 12
|
|
},
|
|
"ram.sN.mixread.ops_sec": {
|
|
"dir": "higher",
|
|
"floor": 7482,
|
|
"tolerance_pct": 50,
|
|
"value": 29930
|
|
},
|
|
"ram.sN.mixread.p50us": {
|
|
"dir": "lower",
|
|
"floor": 272,
|
|
"tolerance_pct": 50,
|
|
"value": 68
|
|
},
|
|
"ram.sN.mixread.p99us": {
|
|
"dir": "lower",
|
|
"floor": 372,
|
|
"tolerance_pct": 50,
|
|
"value": 93
|
|
},
|
|
"ram.sN.mixwrite.ops_sec": {
|
|
"dir": "higher",
|
|
"floor": 831,
|
|
"tolerance_pct": 50,
|
|
"value": 3325
|
|
},
|
|
"ram.sN.mixwrite.p50us": {
|
|
"dir": "lower",
|
|
"floor": 296,
|
|
"tolerance_pct": 50,
|
|
"value": 74
|
|
},
|
|
"ram.sN.mixwrite.p99us": {
|
|
"dir": "lower",
|
|
"floor": 420,
|
|
"tolerance_pct": 50,
|
|
"value": 105
|
|
},
|
|
"ram.sN.msgrate.msgs_sec": {
|
|
"dir": "higher",
|
|
"floor": 307283,
|
|
"tolerance_pct": 50,
|
|
"value": 2458270
|
|
},
|
|
"ram.sN.query.ops_sec": {
|
|
"dir": "higher",
|
|
"floor": 246669,
|
|
"tolerance_pct": 50,
|
|
"value": 986679
|
|
},
|
|
"ram.sN.query.p50us": {
|
|
"dir": "lower",
|
|
"floor": 100,
|
|
"tolerance_pct": 50,
|
|
"value": 1
|
|
},
|
|
"ram.sN.query.p99us": {
|
|
"dir": "lower",
|
|
"floor": 100,
|
|
"tolerance_pct": 50,
|
|
"value": 1
|
|
},
|
|
"ram.sN.read.ops_sec": {
|
|
"dir": "higher",
|
|
"floor": 262357,
|
|
"tolerance_pct": 50,
|
|
"value": 1049428
|
|
},
|
|
"ram.sN.read.p50us": {
|
|
"dir": "lower",
|
|
"floor": 100,
|
|
"tolerance_pct": 50,
|
|
"value": 1
|
|
},
|
|
"ram.sN.read.p99us": {
|
|
"dir": "lower",
|
|
"floor": 100,
|
|
"tolerance_pct": 50,
|
|
"value": 1
|
|
},
|
|
"ram.sN.seed.ops_sec": {
|
|
"dir": "higher",
|
|
"floor": 63510,
|
|
"tolerance_pct": 50,
|
|
"value": 254042
|
|
},
|
|
"ram.sN.seed.p50us": {
|
|
"dir": "lower",
|
|
"floor": 100,
|
|
"tolerance_pct": 50,
|
|
"value": 4
|
|
},
|
|
"ram.sN.seed.p99us": {
|
|
"dir": "lower",
|
|
"floor": 100,
|
|
"tolerance_pct": 50,
|
|
"value": 8
|
|
},
|
|
"ram.sN.write.ops_sec": {
|
|
"dir": "higher",
|
|
"floor": 47959,
|
|
"tolerance_pct": 50,
|
|
"value": 191839
|
|
},
|
|
"ram.sN.write.p50us": {
|
|
"dir": "lower",
|
|
"floor": 100,
|
|
"tolerance_pct": 50,
|
|
"value": 8
|
|
},
|
|
"ram.sN.write.p99us": {
|
|
"dir": "lower",
|
|
"floor": 100,
|
|
"tolerance_pct": 50,
|
|
"value": 12
|
|
}
|
|
} |