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)

@github-actions
Copy link

github-actions bot commented Oct 15, 2025

Test Results

    22 files      22 suites   3d 22h 18m 30s ⏱️
 3 701 tests  3 701 ✅ 0 💤 0 ❌
79 471 runs  79 471 ✅ 0 💤 0 ❌

Results for commit 880b7ea.

♻️ This comment has been updated with latest results.

Copy link
Contributor

@jblomer jblomer left a comment

Choose a reason for hiding this comment

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

Nice!

I think the codimd write-up should be submitted as a doc PR.

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.
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.

2 participants