From 66be9b87f7b419b06a5b215a6c5c7ab3c26ca472 Mon Sep 17 00:00:00 2001 From: Jackson Owens Date: Wed, 25 Sep 2024 16:11:19 -0400 Subject: [PATCH] storage: re-enable multi-level compactions The issue of excessively large multi-level compactions was resolved. See cockroachdb/pebble#3120. Epic: none Release note (performance improvement): Enables multi-level compactions which moderately reduce write amplification within the storage engine. --- pkg/storage/pebble.go | 6 ------ 1 file changed, 6 deletions(-) diff --git a/pkg/storage/pebble.go b/pkg/storage/pebble.go index 9a5315c7cb69..d59a3f069ae2 100644 --- a/pkg/storage/pebble.go +++ b/pkg/storage/pebble.go @@ -1192,12 +1192,6 @@ func newPebble(ctx context.Context, cfg engineConfig) (p *Pebble, err error) { // Pebble has better guards against this. return cfg.sharedStorage != nil || !IngestAsFlushable.Get(&cfg.settings.SV) } - // Multi-level compactions were discovered to cause excessively large - // compactions that can have adverse affects. We disable these types of - // compactions for now. - // See https://github.com/cockroachdb/pebble/issues/3120 - // TODO(travers): Re-enable, once the issues are resolved. - cfg.opts.Experimental.MultiLevelCompactionHeuristic = pebble.NoMultiLevel{} cfg.opts.Experimental.IngestSplit = func() bool { return IngestSplitEnabled.Get(&cfg.settings.SV) }