Skip to content

Recompress verb: state the measured lock window, not 'typically minutes' - #2079

Merged
erikdarlingdata merged 1 commit into
devfrom
vf-honest-duration
Aug 6, 2026
Merged

Recompress verb: state the measured lock window, not 'typically minutes'#2079
erikdarlingdata merged 1 commit into
devfrom
vf-honest-duration

Conversation

@erikdarlingdata

Copy link
Copy Markdown
Owner

The reference compaction on the production store measured ~46 minutes of exclusive lock for a 174 GB dimension (7.1M plans → 77 GB), with collection freshness degraded (15/52) for the duration and full recovery within five minutes of release. The shipped text said "typically minutes" — a guess the measurement contradicts. Verb output, dry-run disclosure, and CHANGELOG now carry the measured number and tell operators to scale by their own dimension size.

🤖 Generated with Claude Code

The reference compaction (174 GB dimension, 7.1M plans -> 77 GB) held
its exclusive lock for ~46 minutes, during which collection freshness
degraded to 15/52 and recovered fully within five minutes of release.
'Typically minutes' was a guess the measurement contradicts; the verb
output, dry-run text, and CHANGELOG now carry the measured number and
tell operators to scale by their dimension.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Comment on lines +3233 to +3235
output.WriteLine(" free disk. Size the lock window by your dimension: measured ~46 minutes on a 174 GB");
output.WriteLine(" dimension (7.1M plans), during which collection freshness DEGRADES and recovers within");
output.WriteLine(" minutes after. --no-vacuum-full skips it to schedule that window separately.");

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: this PR's whole point is to replace a vague guess ("typically minutes") with the measured number, and it does that for the lock duration (~46 minutes). But the recovery time reverts to the same kind of vague qualifier it just eliminated — "recovers within minutes after" — even though the measured figure is known and precise ("within five minutes of release," per the CHANGELOG and PR description). Worth using "five minutes" here too for consistency with the CHANGELOG entry below and the stated goal of this change.

Comment on lines +3367 to +3369
output.WriteLine(" This takes an EXCLUSIVE lock on the plan dimension — collections DEGRADE until it");
output.WriteLine(" finishes and recover within minutes after (measured: ~46 minutes of lock on a 174 GB");
output.WriteLine(" dimension; scale by yours). The service does not need to stop.");

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same nit as the dry-run message above: "recover within minutes after" is vague, but the CHANGELOG states the measured recovery was "within five minutes." Since this PR's purpose is to state measured numbers instead of guesses, consider using the precise figure here too, for consistency between the two CLI output sites and the CHANGELOG.

@claude

claude Bot commented Aug 6, 2026

Copy link
Copy Markdown

Reviewed. This is a small, low-risk change: two WriteLine string literals in DarlingCliCommands.cs plus the matching CHANGELOG.md entry, replacing the guessed "typically minutes" lock-window language with the measured production number (~46 min lock on a 174 GB / 7.1M-plan dimension). No logic changes — pure output text.

  • Correctness: no functional/behavioral change, nothing to break.
  • Lite/Darling parity: this verb (--recompress-plan-dim) is Darling-only per the CHANGELOG ("OPTIONAL, Darling only"), and I confirmed there's no equivalent string in Lite to update — no parity drift.
  • Security: N/A, static text only.
  • Tests: Darling.Tests/DarlingCliCommandsTests.cs doesn't assert on this wording, so nothing to update there.

Left two inline nits: both new CLI messages say recovery "recovers within minutes after," which is the same kind of vague qualifier this PR set out to replace — the CHANGELOG and PR description both give the precise measured figure ("within five minutes"). Worth using that number in the CLI text too for consistency, since precision-over-guessing is the whole point of this PR.

@erikdarlingdata
erikdarlingdata merged commit d35c430 into dev Aug 6, 2026
5 checks passed
@erikdarlingdata
erikdarlingdata deleted the vf-honest-duration branch August 6, 2026 11:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant