ExportXMLWordPrintableJSON

    • Type: Task
    • Resolution: Unresolved
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • Storage Engines - Persistence
    • 255.969
    • None
    • None

      Problem

      A page below leaf_page_max does not necessarily contain unused allocated disk space. WiredTiger writes packed, variable-sized images, so page underfill and physical allocation padding need separate measurements.

      Proposed change

      Add two measurements to the live B-tree statistics walk:

      • Occupancy: serialized leaf-image sizes before block compression, grouped below, near and above the configured page-size target. Include page counts and byte totals; oversized inline values are valid.
      • Padding: rounded physical allocation length minus encoded block length, including headers and compression/encryption overhead.

      Start with current persisted row-store leaf images. Report analysed and skipped pages separately for each measurement. Keep obsolete content separate from padding; neither occupancy nor padding alone predicts reclaimable space.

      First establish which existing formats expose the encoded length reliably. disk_size - mem_size is not a general padding formula for compressed or encrypted pages. Report unsupported formats explicitly; assess any required on-disk format change separately.

      Acceptance criteria

      • Tests cover small, near-target and oversized images, plus exact padding at allocation boundaries.
      • Compressed/encrypted pages produce validated padding measurements or explicit exclusions.
      • Stale images are excluded; unsupported measurements are not reported as zero.
      • Document the effect of split_pct on occupancy and measure added walk cost.

      Related: WT-18679, WT-18681.

            Assignee:
            Sean Watt
            Reporter:
            Sean Watt
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: