Skip to content

Conversation

silverweed
Copy link
Contributor

Currently we either "fast merge" the page (i.e. we copy it as-is to the destination) or we reseal it if fast merging is not possible (which happens where the compression or the on-disk encoding don't match).
There is a middle ground where we can avoid resealing if only the page compression differs but not the on-disk encoding.
We were not currently leveraging this and doing the extra work of resealing the pages in all cases where just recompression could be done.

With this PR we introduce this middle ground case ("L2 merging", aka "recompress merging") which skips the resealing (thus the re-encoding) of the pages whenever possible.

(see here for the L2 terminology)

Checklist:

  • tested changes locally
  • updated the docs (if necessary)

@silverweed silverweed self-assigned this Oct 15, 2025
@silverweed silverweed requested a review from jblomer as a code owner October 15, 2025 09:12
Currently we either "fast merge" the page (i.e. we copy it as-is to the
destination) or we reseal it if fast merging is not possible.
There is a middle ground where we can avoid resealing if only the page
compression differs but not the on-disk encoding.
We were not currently leveraging this and doing the extra work of
resealing the pages in all cases where just recompression could be done.

With this PR we introduce this middle ground case ("L2 merging", aka
"recompress merging") which skips the resealing (thus the re-encoding)
of the pages whenever possible.
Copy link

Test Results

    22 files      22 suites   3d 19h 52m 59s ⏱️
 3 692 tests  3 691 ✅ 0 💤 1 ❌
79 273 runs  79 272 ✅ 0 💤 1 ❌

For more details on these failures, see this check.

Results for commit bfdeb3e.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant