Skip to content

I158: freemap_churn claims aux-metric persistence that never happens — reclamation regressions are invisible #146

Description

@Xof

Migrated from ISSUES.md, which was retired in favour of GitHub issues. Original id I158, priority P3, from the 2026-07-02 deep review (docs/reviews/review-20260702-001902.md).

The text below is the triaged entry verbatim, including the corrections triage made to the original finding.


Where: bench/benches/freemap_churn.rs:193

Problem: The comments at freemap_churn.rs lines 14, 126, and 193 claim the churn metrics are persisted to bench/results/aux_metrics.jsonl via AuxMetricsWriter, but this bench never uses that writer (it exists in bench/src/runner.rs and is used only by micro_grid.rs); the pages_allocated and file-size deltas are computed in the timed closures and discarded via black_box, so only wall-clock timing is reported. The bench's two stated purposes — trend-tracking the flat-high-water property and reclamation pages_allocated — are unfulfilled: only wall-clock timing reaches Criterion's output. A freemap reclamation regression (file growing per commit) would be invisible unless it also changed timing. The comments tell a reader the safety net exists when it does not.

Direction of fix: Either wire an AuxMetricsWriter (as micro_grid does) to emit the deltas per case, or delete the three aux-file claims and state that only timing is tracked.

Metadata

Metadata

Assignees

No one assigned

    Labels

    severity:designWrong shape: bad abstraction, unenforced invariant, doc contradicts codetype:performanceHot paths, allocation, measurement

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions