Skip to content

Commit 25fa25c

Browse files
authored
Merge pull request #155486 from RaduBerinde/delete-pacer-cfg-25.4
release-25.4: storage: add cluster setting for delete pacer
2 parents 4f02ded + ba16510 commit 25fa25c

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
@@ -1830,10 +1830,10 @@ def go_deps():
18301830
patches = [
18311831
"@com_github_cockroachdb_cockroach//build/patches:com_github_cockroachdb_pebble.patch",
18321832
],
1833-
sha256 = "48ac3795d06c5930258a83c2a7b0c103806d67a352d2ae65e959aa90aeca03c7",
1834-
strip_prefix = "github.com/cockroachdb/[email protected]20251008211538-7163c371b05c",
1833+
sha256 = "94d178be129335023d593f2c593eda38122d2bd3b6a9b73e7df5682c102f8392",
1834+
strip_prefix = "github.com/cockroachdb/[email protected]20251015184140-cb3478690663",
18351835
urls = [
1836-
"https://storage.googleapis.com/cockroach-godeps/gomod/github.com/cockroachdb/pebble/com_github_cockroachdb_pebble-v0.0.0-20251008211538-7163c371b05c.zip",
1836+
"https://storage.googleapis.com/cockroach-godeps/gomod/github.com/cockroachdb/pebble/com_github_cockroachdb_pebble-v0.0.0-20251015184140-cb3478690663.zip",
18371837
],
18381838
)
18391839
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-20251008211538-7163c371b05c.zip": "48ac3795d06c5930258a83c2a7b0c103806d67a352d2ae65e959aa90aeca03c7",
359+
"https://storage.googleapis.com/cockroach-godeps/gomod/github.com/cockroachdb/pebble/com_github_cockroachdb_pebble-v0.0.0-20251015184140-cb3478690663.zip": "94d178be129335023d593f2c593eda38122d2bd3b6a9b73e7df5682c102f8392",
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-20251008211538-7163c371b05c
145+
github.com/cockroachdb/pebble v0.0.0-20251015184140-cb3478690663
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-20251008211538-7163c371b05c h1:P81yV6HNImI7/0+YupmiQxZ+h19fJ71LhotflPX1mgs=
581-
github.com/cockroachdb/pebble v0.0.0-20251008211538-7163c371b05c/go.mod h1:H/DxkYtsYVJwPFLikOL9yzb/PV7oIkz44CUmn4KecKg=
580+
github.com/cockroachdb/pebble v0.0.0-20251015184140-cb3478690663 h1:GUAe7Zha8HzCcixb+379QFTCFHCnCVjHsR0CDbooSE8=
581+
github.com/cockroachdb/pebble v0.0.0-20251015184140-cb3478690663/go.mod h1:H/DxkYtsYVJwPFLikOL9yzb/PV7oIkz44CUmn4KecKg=
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
@@ -492,6 +492,17 @@ var (
492492
)
493493
)
494494

495+
// This setting controls deletion pacing. This helps prevent disk slowness
496+
// events on some SSDs, that kick off an expensive GC if a lot of files are
497+
// deleted at once.
498+
var baselineDeletionRate = settings.RegisterIntSetting(
499+
settings.ApplicationLevel,
500+
"storage.baseline_deletion_rate",
501+
"the baseline allowed rate of bytes deleted per second by each store",
502+
128*1024*1024, // 128 MB/s
503+
settings.NonNegativeInt,
504+
)
505+
495506
// EngineComparer is a pebble.Comparer object that implements MVCC-specific
496507
// comparator settings for use with Pebble.
497508
var EngineComparer = func() pebble.Comparer {
@@ -573,10 +584,6 @@ func DefaultPebbleOptions() *pebble.Options {
573584
// This ensures that range keys are quickly flushed, allowing use of lazy
574585
// combined iteration within Pebble.
575586
opts.FlushDelayRangeKey = 10 * time.Second
576-
// Enable deletion pacing. This helps prevent disk slowness events on some
577-
// SSDs, that kick off an expensive GC if a lot of files are deleted at
578-
// once.
579-
opts.TargetByteDeletionRate = 128 << 20 // 128 MB
580587
opts.Experimental.ShortAttributeExtractor = shortAttributeExtractorForValues
581588

582589
opts.Experimental.SpanPolicyFunc = spanPolicyFunc
@@ -927,6 +934,9 @@ func newPebble(ctx context.Context, cfg engineConfig) (p *Pebble, err error) {
927934
return int(concurrentDownloadCompactions.Get(&cfg.settings.SV))
928935
}
929936
}
937+
cfg.opts.TargetByteDeletionRate = func() int {
938+
return int(baselineDeletionRate.Get(&cfg.settings.SV))
939+
}
930940

931941
cfg.opts.EnsureDefaults()
932942

0 commit comments

Comments
 (0)