diff --git a/PLAN.md b/PLAN.md index 8c73ab4..f0bcc77 100644 --- a/PLAN.md +++ b/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