Skip to content

go.mod, storage: bump pebble + enable multilevel compactions by default with a cluster setting #149498

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Jul 8, 2025

Conversation

xinhaoz
Copy link
Member

@xinhaoz xinhaoz commented Jul 3, 2025

1: go.mod: bump Pebble to 20e2cbcd70de

Changes:

  • 20e2cbcd db: support overriding value separation minimum-size by key span
  • 50d7fd77 pebble: add additional constraints to running multiLevel compactions
  • f810bcdf pebble: make MultiLevelCompactionHeuristic a function option

Release note: none.
Epic: none.

2: storage: enable multilevel compactions by default with a cluster setting

Reenable multilevel compactions, with more constraints. ML compactions will run
according to a write amp heuristic, along with the following rules:

  • At most 1 ML compaction is running at any time.
  • The db must have >= 2 maximum compaction slots.

Closes: cockroachdb/pebble#4139

Changes:

 * [`20e2cbcd`](cockroachdb/pebble@20e2cbcd) db: support overriding value separation minimum-size by key span
 * [`50d7fd77`](cockroachdb/pebble@50d7fd77) pebble: add additional constraints to running multiLevel compactions
 * [`f810bcdf`](cockroachdb/pebble@f810bcdf) pebble: make MultiLevelCompactionHeuristic a function option

Release note: none.
Epic: none.
Copy link

blathers-crl bot commented Jul 3, 2025

It looks like your PR touches production code but doesn't add or edit any test code. Did you consider adding tests to your PR?

🦉 Hoot! I am a Blathers, a bot for CockroachDB. My owner is dev-inf.

@cockroach-teamcity
Copy link
Member

This change is Reviewable

@xinhaoz xinhaoz changed the title go.mod: bump Pebble to 20e2cbcd70de go.mod, storage: bump pebble + enable multilevel compactions by default with a cluster setting Jul 3, 2025
@xinhaoz xinhaoz force-pushed the xinhao/pebble-master-20e2cbcd70de branch from f4ac95a to a5095aa Compare July 7, 2025 15:05
@xinhaoz xinhaoz marked this pull request as ready for review July 7, 2025 15:34
@xinhaoz xinhaoz requested review from a team as code owners July 7, 2025 15:34
@xinhaoz xinhaoz requested a review from sumeerbhola July 7, 2025 15:34
Reenable multilevel compactions, with more constraints. ML compactions will run
according to a write amp heuristic, along with the following rules:
- At most 1 ML compaction is running at any time.
- The db must have >= 2 maximum compaction slots.

Closes: cockroachdb/pebble#4139
@xinhaoz xinhaoz force-pushed the xinhao/pebble-master-20e2cbcd70de branch from a5095aa to e8d6f70 Compare July 7, 2025 18:41
Copy link
Collaborator

@sumeerbhola sumeerbhola left a comment

Choose a reason for hiding this comment

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

:lgtm:

Reviewed 3 of 4 files at r1, 1 of 1 files at r2, all commit messages.
Reviewable status: :shipit: complete! 1 of 0 LGTMs obtained

@xinhaoz
Copy link
Member Author

xinhaoz commented Jul 8, 2025

TFTRs!
bors r+

@craig
Copy link
Contributor

craig bot commented Jul 8, 2025

@craig craig bot merged commit d591c19 into cockroachdb:master Jul 8, 2025
22 checks passed
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.

db: re-enable and limit concurrency of multilevel compactions
4 participants