Skip to content

Conversation

jbowens
Copy link
Collaborator

@jbowens jbowens commented Aug 22, 2025

In cockroachdb/pebble#5187 we altered the default compaction picking logic that determines whether a level is elgible for a default compaction. We added a knob to allow the configuration of this value at runtime in case the change has some unforeseen impact on some workloads. This commit connects this knob to a new cluster setting. This cluster setting is just an escape hatch that we don't anticipate needing.

Epic: none
Release note: none

In cockroachdb/pebble#5187 we altered the default compaction picking logic that
determines whether a level is elgible for a default compaction. We added a knob
to allow the configuration of this value at runtime in case the change has some
unforeseen impact on some workloads. This commit connects this knob to a new
cluster setting. This cluster setting is just an escape hatch that we don't
anticipate needing.

Epic: none
Release note: none
Copy link

blathers-crl bot commented Aug 22, 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

@jbowens jbowens marked this pull request as ready for review August 22, 2025 18:17
@jbowens jbowens requested a review from a team as a code owner August 22, 2025 18:17
@jbowens jbowens requested a review from xxmplus August 22, 2025 18:17
@RaduBerinde
Copy link
Member

I wonder if we should make the knob more general - "revert to deprecated compaction heuristics" and each value is a version (documented as matching compaction heuristics in a specific crdb version)

@jbowens
Copy link
Collaborator Author

jbowens commented Aug 22, 2025

I thought about making something more general, but I feel like it starts to actually get more ambiguous because not all behavior changes will be gated by cluster settings and we'll eventually start removing support for old behavior. I'd rather keep this as an undocumented setting that we don't even attempt to explain to customers, because we don't anticipate customers should ever touch it.

Copy link
Member

@RaduBerinde RaduBerinde left a comment

Choose a reason for hiding this comment

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

:lgtm:

Reviewable status: :shipit: complete! 1 of 0 LGTMs obtained (waiting on @xxmplus)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants