plan: the in-place replace commit, declined on the measurement
The plan made it conditional on the update line still being the worst. It is -- but the gate says the peak is set by the first rebuild's second copy, not by write amplification, so generating less garbage moves the number by nothing. That would be a change to the write path, on the stretch that runs after the log record is durable, for no measured gain. Recorded as declined with the reason rather than done because it was on the list.
This commit is contained in:
9
PLAN.md
9
PLAN.md
@@ -367,6 +367,15 @@ the filesystem, since 52% of the steady-state file is space the database owns
|
||||
and is not using; it needs the file never to shrink below what the fallback
|
||||
generation references, which is its own crash-safety design pass.
|
||||
|
||||
**One planned commit was declined on the measurement.** A same-length replace
|
||||
could be written in place when the document's bytes are on an unpublished page,
|
||||
and the plan made it conditional on the update line still being the worst. It
|
||||
is the worst — but the measurement says why, and it is not write amplification:
|
||||
the peak is set by the first rebuild's second copy, so generating less garbage
|
||||
moves the number by nothing. It would buy a write-path change, on the path that
|
||||
runs after the log record is durable, for no gate movement. Left undone with
|
||||
the reason, rather than done because it was listed.
|
||||
|
||||
**Small documents behave exactly as forecast**, and the forecast being written
|
||||
down in advance is what makes it a result. 200-byte documents reclaim nothing
|
||||
at all — a 16 KiB system page holds ~70 of them and they never all die at once
|
||||
|
||||
Reference in New Issue
Block a user