Skip to content

Commit c9e2699

Browse files
authored
Merge pull request #155465 from RaduBerinde/delete-pacer-cfg-25.3.3-rc
release-25.3.3-rc: storage: add cluster setting for delete pacer
2 parents 73c8714 + 9ca59d4 commit c9e2699

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
@@ -1845,10 +1845,10 @@ def go_deps():
18451845
patches = [
18461846
"@com_github_cockroachdb_cockroach//build/patches:com_github_cockroachdb_pebble.patch",
18471847
],
1848-
sha256 = "1a87b93646c85d9aa0ee4a9b9ca3c084d7837a814c44b7978b7201fd0f14fb6a",
1849-
strip_prefix = "github.com/cockroachdb/[email protected]20250910204544-76f4f0fe8404",
1848+
sha256 = "a3ad7c52146c1bea89e36ee8589c54ce6e6faa9fec702372ff21029f140030d5",
1849+
strip_prefix = "github.com/cockroachdb/[email protected]20251015163059-1a2072e77449",
18501850
urls = [
1851-
"https://storage.googleapis.com/cockroach-godeps/gomod/github.com/cockroachdb/pebble/com_github_cockroachdb_pebble-v0.0.0-20250910204544-76f4f0fe8404.zip",
1851+
"https://storage.googleapis.com/cockroach-godeps/gomod/github.com/cockroachdb/pebble/com_github_cockroachdb_pebble-v0.0.0-20251015163059-1a2072e77449.zip",
18521852
],
18531853
)
18541854
go_repository(

build/bazelutil/distdir_files.bzl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -359,7 +359,7 @@ DISTDIR_FILES = {
359359
"https://storage.googleapis.com/cockroach-godeps/gomod/github.com/cockroachdb/gostdlib/com_github_cockroachdb_gostdlib-v1.19.0.zip": "c4d516bcfe8c07b6fc09b8a9a07a95065b36c2855627cb3514e40c98f872b69e",
360360
"https://storage.googleapis.com/cockroach-godeps/gomod/github.com/cockroachdb/logtags/com_github_cockroachdb_logtags-v0.0.0-20241215232642-bb51bb14a506.zip": "920068af09e3846d9ebb4e4a7787ff1dd10f3989c5f940ad861b0f6a9f824f6e",
361361
"https://storage.googleapis.com/cockroach-godeps/gomod/github.com/cockroachdb/metamorphic/com_github_cockroachdb_metamorphic-v0.0.0-20231108215700-4ba948b56895.zip": "28c8cf42192951b69378cf537be5a9a43f2aeb35542908cc4fe5f689505853ea",
362-
"https://storage.googleapis.com/cockroach-godeps/gomod/github.com/cockroachdb/pebble/com_github_cockroachdb_pebble-v0.0.0-20250910204544-76f4f0fe8404.zip": "1a87b93646c85d9aa0ee4a9b9ca3c084d7837a814c44b7978b7201fd0f14fb6a",
362+
"https://storage.googleapis.com/cockroach-godeps/gomod/github.com/cockroachdb/pebble/com_github_cockroachdb_pebble-v0.0.0-20251015163059-1a2072e77449.zip": "a3ad7c52146c1bea89e36ee8589c54ce6e6faa9fec702372ff21029f140030d5",
363363
"https://storage.googleapis.com/cockroach-godeps/gomod/github.com/cockroachdb/redact/com_github_cockroachdb_redact-v1.1.6.zip": "018eccb5fb9ca52d43ec9eaf213539d01c1f2b94e0e822406ebfb2e9321ef6cf",
364364
"https://storage.googleapis.com/cockroach-godeps/gomod/github.com/cockroachdb/returncheck/com_github_cockroachdb_returncheck-v0.0.0-20200612231554-92cdbca611dd.zip": "ce92ba4352deec995b1f2eecf16eba7f5d51f5aa245a1c362dfe24c83d31f82b",
365365
"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
@@ -141,7 +141,7 @@ require (
141141
github.com/cockroachdb/go-test-teamcity v0.0.0-20191211140407-cff980ad0a55
142142
github.com/cockroachdb/gostdlib v1.19.0
143143
github.com/cockroachdb/logtags v0.0.0-20241215232642-bb51bb14a506
144-
github.com/cockroachdb/pebble v0.0.0-20250910204544-76f4f0fe8404
144+
github.com/cockroachdb/pebble v0.0.0-20251015163059-1a2072e77449
145145
github.com/cockroachdb/redact v1.1.6
146146
github.com/cockroachdb/returncheck v0.0.0-20200612231554-92cdbca611dd
147147
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
@@ -584,8 +584,8 @@ github.com/cockroachdb/logtags v0.0.0-20241215232642-bb51bb14a506 h1:ASDL+UJcILM
584584
github.com/cockroachdb/logtags v0.0.0-20241215232642-bb51bb14a506/go.mod h1:Mw7HqKr2kdtu6aYGn3tPmAftiP3QPX63LdK/zcariIo=
585585
github.com/cockroachdb/metamorphic v0.0.0-20231108215700-4ba948b56895 h1:XANOgPYtvELQ/h4IrmPAohXqe2pWA8Bwhejr3VQoZsA=
586586
github.com/cockroachdb/metamorphic v0.0.0-20231108215700-4ba948b56895/go.mod h1:aPd7gM9ov9M8v32Yy5NJrDyOcD8z642dqs+F0CeNXfA=
587-
github.com/cockroachdb/pebble v0.0.0-20250910204544-76f4f0fe8404 h1:7UnpLSJt5pycT1Da5Qs6zDZDfVJI2WqDJPKkyyXaruI=
588-
github.com/cockroachdb/pebble v0.0.0-20250910204544-76f4f0fe8404/go.mod h1:+E2g3dO+px5IVuHgq5o+O5iy7fRK2eJLdckgrbtWzeE=
587+
github.com/cockroachdb/pebble v0.0.0-20251015163059-1a2072e77449 h1:U0C8sLOPR0pA9hB9a8IaWSoGRi6ZVHZVAg121hrpcwY=
588+
github.com/cockroachdb/pebble v0.0.0-20251015163059-1a2072e77449/go.mod h1:+E2g3dO+px5IVuHgq5o+O5iy7fRK2eJLdckgrbtWzeE=
589589
github.com/cockroachdb/redact v1.1.3/go.mod h1:BVNblN9mBWFyMyqK1k3AAiSxhvhfK2oOZZ2lK+dpvRg=
590590
github.com/cockroachdb/redact v1.1.6 h1:zXJBwDZ84xJNlHl1rMyCojqyIxv+7YUpQiJLQ7n4314=
591591
github.com/cockroachdb/redact v1.1.6/go.mod h1:BVNblN9mBWFyMyqK1k3AAiSxhvhfK2oOZZ2lK+dpvRg=

pkg/storage/pebble.go

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -461,6 +461,17 @@ var (
461461
)
462462
)
463463

464+
// This setting controls deletion pacing. This helps prevent disk slowness
465+
// events on some SSDs, that kick off an expensive GC if a lot of files are
466+
// deleted at once.
467+
var baselineDeletionRate = settings.RegisterIntSetting(
468+
settings.ApplicationLevel,
469+
"storage.baseline_deletion_rate",
470+
"the baseline allowed rate of bytes deleted per second by each store",
471+
128*1024*1024, // 128 MB/s
472+
settings.NonNegativeInt,
473+
)
474+
464475
// EngineComparer is a pebble.Comparer object that implements MVCC-specific
465476
// comparator settings for use with Pebble.
466477
var EngineComparer = func() pebble.Comparer {
@@ -545,10 +556,6 @@ func DefaultPebbleOptions() *pebble.Options {
545556
// This ensures that range keys are quickly flushed, allowing use of lazy
546557
// combined iteration within Pebble.
547558
opts.FlushDelayRangeKey = 10 * time.Second
548-
// Enable deletion pacing. This helps prevent disk slowness events on some
549-
// SSDs, that kick off an expensive GC if a lot of files are deleted at
550-
// once.
551-
opts.TargetByteDeletionRate = 128 << 20 // 128 MB
552559
opts.Experimental.ShortAttributeExtractor = shortAttributeExtractorForValues
553560

554561
lockTableStartKey := EncodeMVCCKey(MVCCKey{Key: keys.LocalRangeLockTablePrefix})
@@ -878,6 +885,9 @@ func newPebble(ctx context.Context, cfg engineConfig) (p *Pebble, err error) {
878885
return int(concurrentDownloadCompactions.Get(&cfg.settings.SV))
879886
}
880887
}
888+
cfg.opts.TargetByteDeletionRate = func() int {
889+
return int(baselineDeletionRate.Get(&cfg.settings.SV))
890+
}
881891

882892
cfg.opts.EnsureDefaults()
883893

0 commit comments

Comments
 (0)