Skip to content

Commit 3a6b122

Browse files
craig[bot]RaduBerinde
andcommitted
Merge #155401
155401: storage: bump Pebble, add cluster setting for delete pacer r=RaduBerinde a=RaduBerinde #### go.mod: bump Pebble to f213f584df14 Changes: * [`f213f584`](cockroachdb/pebble@f213f584) options: make TargetByteDeletionRate dynamically configurable * [`a5edd166`](cockroachdb/pebble@a5edd166) pebble, sstable: preserve blob values only if inputs match output policy * [`6c52edf5`](cockroachdb/pebble@6c52edf5) db: EFOS and excise race bug fix * [`056b059d`](cockroachdb/pebble@056b059d) block: improve adaptive compression profiles * [`392f1021`](cockroachdb/pebble@392f1021) db: factor out recovery logic * [`26c861d9`](cockroachdb/pebble@26c861d9) pebble: remove unnecessary set of ReportCorruptionFn Release note: none. Epic: none. #### storage: add cluster setting for delete pacer Add a (private) cluster setting that controls the baseline delete pacing rate. Informs: cockroachdb/pebble#5424 Release note: None Co-authored-by: Radu Berinde <[email protected]>
2 parents 7833656 + 4facf2f commit 3a6b122

File tree

5 files changed

+21
-11
lines changed

5 files changed

+21
-11
lines changed

DEPS.bzl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1834,10 +1834,10 @@ def go_deps():
18341834
patches = [
18351835
"@com_github_cockroachdb_cockroach//build/patches:com_github_cockroachdb_pebble.patch",
18361836
],
1837-
sha256 = "0f62a20d58756e8485d14285654993a96b320759bcfa411f8ad46fb4da977fe4",
1838-
strip_prefix = "github.com/cockroachdb/[email protected]20251007185819-79e6b4a13387",
1837+
sha256 = "4e0adc1e3609c559ce16f6b8eea505ca76e60f97493b8dfb5182d7a65e26ce54",
1838+
strip_prefix = "github.com/cockroachdb/[email protected]20251014195856-f213f584df14",
18391839
urls = [
1840-
"https://storage.googleapis.com/cockroach-godeps/gomod/github.com/cockroachdb/pebble/com_github_cockroachdb_pebble-v0.0.0-20251007185819-79e6b4a13387.zip",
1840+
"https://storage.googleapis.com/cockroach-godeps/gomod/github.com/cockroachdb/pebble/com_github_cockroachdb_pebble-v0.0.0-20251014195856-f213f584df14.zip",
18411841
],
18421842
)
18431843
go_repository(

build/bazelutil/distdir_files.bzl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -356,7 +356,7 @@ DISTDIR_FILES = {
356356
"https://storage.googleapis.com/cockroach-godeps/gomod/github.com/cockroachdb/gostdlib/com_github_cockroachdb_gostdlib-v1.19.0.zip": "c4d516bcfe8c07b6fc09b8a9a07a95065b36c2855627cb3514e40c98f872b69e",
357357
"https://storage.googleapis.com/cockroach-godeps/gomod/github.com/cockroachdb/logtags/com_github_cockroachdb_logtags-v0.0.0-20241215232642-bb51bb14a506.zip": "920068af09e3846d9ebb4e4a7787ff1dd10f3989c5f940ad861b0f6a9f824f6e",
358358
"https://storage.googleapis.com/cockroach-godeps/gomod/github.com/cockroachdb/metamorphic/com_github_cockroachdb_metamorphic-v0.0.0-20231108215700-4ba948b56895.zip": "28c8cf42192951b69378cf537be5a9a43f2aeb35542908cc4fe5f689505853ea",
359-
"https://storage.googleapis.com/cockroach-godeps/gomod/github.com/cockroachdb/pebble/com_github_cockroachdb_pebble-v0.0.0-20251007185819-79e6b4a13387.zip": "0f62a20d58756e8485d14285654993a96b320759bcfa411f8ad46fb4da977fe4",
359+
"https://storage.googleapis.com/cockroach-godeps/gomod/github.com/cockroachdb/pebble/com_github_cockroachdb_pebble-v0.0.0-20251014195856-f213f584df14.zip": "4e0adc1e3609c559ce16f6b8eea505ca76e60f97493b8dfb5182d7a65e26ce54",
360360
"https://storage.googleapis.com/cockroach-godeps/gomod/github.com/cockroachdb/redact/com_github_cockroachdb_redact-v1.1.6.zip": "018eccb5fb9ca52d43ec9eaf213539d01c1f2b94e0e822406ebfb2e9321ef6cf",
361361
"https://storage.googleapis.com/cockroach-godeps/gomod/github.com/cockroachdb/returncheck/com_github_cockroachdb_returncheck-v0.0.0-20200612231554-92cdbca611dd.zip": "ce92ba4352deec995b1f2eecf16eba7f5d51f5aa245a1c362dfe24c83d31f82b",
362362
"https://storage.googleapis.com/cockroach-godeps/gomod/github.com/cockroachdb/stress/com_github_cockroachdb_stress-v0.0.0-20220803192808-1806698b1b7b.zip": "3fda531795c600daf25532a4f98be2a1335cd1e5e182c72789bca79f5f69fcc1",

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ require (
142142
github.com/cockroachdb/go-test-teamcity v0.0.0-20191211140407-cff980ad0a55
143143
github.com/cockroachdb/gostdlib v1.19.0
144144
github.com/cockroachdb/logtags v0.0.0-20241215232642-bb51bb14a506
145-
github.com/cockroachdb/pebble v0.0.0-20251007185819-79e6b4a13387
145+
github.com/cockroachdb/pebble v0.0.0-20251014195856-f213f584df14
146146
github.com/cockroachdb/redact v1.1.6
147147
github.com/cockroachdb/returncheck v0.0.0-20200612231554-92cdbca611dd
148148
github.com/cockroachdb/stress v0.0.0-20220803192808-1806698b1b7b

go.sum

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -577,8 +577,8 @@ github.com/cockroachdb/logtags v0.0.0-20241215232642-bb51bb14a506 h1:ASDL+UJcILM
577577
github.com/cockroachdb/logtags v0.0.0-20241215232642-bb51bb14a506/go.mod h1:Mw7HqKr2kdtu6aYGn3tPmAftiP3QPX63LdK/zcariIo=
578578
github.com/cockroachdb/metamorphic v0.0.0-20231108215700-4ba948b56895 h1:XANOgPYtvELQ/h4IrmPAohXqe2pWA8Bwhejr3VQoZsA=
579579
github.com/cockroachdb/metamorphic v0.0.0-20231108215700-4ba948b56895/go.mod h1:aPd7gM9ov9M8v32Yy5NJrDyOcD8z642dqs+F0CeNXfA=
580-
github.com/cockroachdb/pebble v0.0.0-20251007185819-79e6b4a13387 h1:J8HQwx04ADqCaD4V7Rhq9RZrp+inwl+k16Lc1c0o7GU=
581-
github.com/cockroachdb/pebble v0.0.0-20251007185819-79e6b4a13387/go.mod h1:GflN9NRwberlF+gFRJd6r6jrUYdWR/QD+gtgtH0LRK8=
580+
github.com/cockroachdb/pebble v0.0.0-20251014195856-f213f584df14 h1:c46IRczKAz+xMHZj9NdfV6G8c/n5HoTNa9bm72vK0tc=
581+
github.com/cockroachdb/pebble v0.0.0-20251014195856-f213f584df14/go.mod h1:GflN9NRwberlF+gFRJd6r6jrUYdWR/QD+gtgtH0LRK8=
582582
github.com/cockroachdb/redact v1.1.6 h1:zXJBwDZ84xJNlHl1rMyCojqyIxv+7YUpQiJLQ7n4314=
583583
github.com/cockroachdb/redact v1.1.6/go.mod h1:BVNblN9mBWFyMyqK1k3AAiSxhvhfK2oOZZ2lK+dpvRg=
584584
github.com/cockroachdb/returncheck v0.0.0-20200612231554-92cdbca611dd h1:KFOt5I9nEKZgCnOSmy8r4Oykh8BYQO8bFOTgHDS8YZA=

pkg/storage/pebble.go

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -497,6 +497,17 @@ var (
497497
)
498498
)
499499

500+
// This setting controls deletion pacing. This helps prevent disk slowness
501+
// events on some SSDs, that kick off an expensive GC if a lot of files are
502+
// deleted at once.
503+
var baselineDeletionRate = settings.RegisterIntSetting(
504+
settings.ApplicationLevel,
505+
"storage.baseline_deletion_rate",
506+
"the baseline allowed rate of bytes deleted per second by each store",
507+
128*1024*1024, // 128 MB/s
508+
settings.NonNegativeInt,
509+
)
510+
500511
// EngineComparer is a pebble.Comparer object that implements MVCC-specific
501512
// comparator settings for use with Pebble.
502513
var EngineComparer = func() pebble.Comparer {
@@ -578,10 +589,6 @@ func DefaultPebbleOptions() *pebble.Options {
578589
// This ensures that range keys are quickly flushed, allowing use of lazy
579590
// combined iteration within Pebble.
580591
opts.FlushDelayRangeKey = 10 * time.Second
581-
// Enable deletion pacing. This helps prevent disk slowness events on some
582-
// SSDs, that kick off an expensive GC if a lot of files are deleted at
583-
// once.
584-
opts.TargetByteDeletionRate = 128 << 20 // 128 MB
585592
opts.Experimental.ShortAttributeExtractor = shortAttributeExtractorForValues
586593

587594
opts.Experimental.SpanPolicyFunc = spanPolicyFunc
@@ -936,6 +943,9 @@ func newPebble(ctx context.Context, cfg engineConfig) (p *Pebble, err error) {
936943
return int(concurrentDownloadCompactions.Get(&cfg.settings.SV))
937944
}
938945
}
946+
cfg.opts.TargetByteDeletionRate = func() int {
947+
return int(baselineDeletionRate.Get(&cfg.settings.SV))
948+
}
939949

940950
cfg.opts.EnsureDefaults()
941951

0 commit comments

Comments
 (0)