Skip to content

Commit 7f9ca6c

Browse files
authored
Merge pull request #155467 from RaduBerinde/delete-pacer-cfg-25.2.7-rc
release-25.2.7-rc: storage: add cluster setting for delete pacer
2 parents 1fca9b2 + 1b23a41 commit 7f9ca6c

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
@@ -1905,10 +1905,10 @@ def go_deps():
19051905
patches = [
19061906
"@com_github_cockroachdb_cockroach//build/patches:com_github_cockroachdb_pebble.patch",
19071907
],
1908-
sha256 = "def9460d79b66db0920de78542a7566b23b45d7d6204d578937248c330cd1131",
1909-
strip_prefix = "github.com/cockroachdb/[email protected]20250813192500-cfa5233c966b",
1908+
sha256 = "a490406f3ea666f8d9f037a17707bc4d2217585d6ec4900062ff467bcf352fb7",
1909+
strip_prefix = "github.com/cockroachdb/[email protected]20251015163055-612609e1983e",
19101910
urls = [
1911-
"https://storage.googleapis.com/cockroach-godeps/gomod/github.com/cockroachdb/pebble/com_github_cockroachdb_pebble-v0.0.0-20250813192500-cfa5233c966b.zip",
1911+
"https://storage.googleapis.com/cockroach-godeps/gomod/github.com/cockroachdb/pebble/com_github_cockroachdb_pebble-v0.0.0-20251015163055-612609e1983e.zip",
19121912
],
19131913
)
19141914
go_repository(

build/bazelutil/distdir_files.bzl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -364,7 +364,7 @@ DISTDIR_FILES = {
364364
"https://storage.googleapis.com/cockroach-godeps/gomod/github.com/cockroachdb/gostdlib/com_github_cockroachdb_gostdlib-v1.19.0.zip": "c4d516bcfe8c07b6fc09b8a9a07a95065b36c2855627cb3514e40c98f872b69e",
365365
"https://storage.googleapis.com/cockroach-godeps/gomod/github.com/cockroachdb/logtags/com_github_cockroachdb_logtags-v0.0.0-20241215232642-bb51bb14a506.zip": "920068af09e3846d9ebb4e4a7787ff1dd10f3989c5f940ad861b0f6a9f824f6e",
366366
"https://storage.googleapis.com/cockroach-godeps/gomod/github.com/cockroachdb/metamorphic/com_github_cockroachdb_metamorphic-v0.0.0-20231108215700-4ba948b56895.zip": "28c8cf42192951b69378cf537be5a9a43f2aeb35542908cc4fe5f689505853ea",
367-
"https://storage.googleapis.com/cockroach-godeps/gomod/github.com/cockroachdb/pebble/com_github_cockroachdb_pebble-v0.0.0-20250813192500-cfa5233c966b.zip": "def9460d79b66db0920de78542a7566b23b45d7d6204d578937248c330cd1131",
367+
"https://storage.googleapis.com/cockroach-godeps/gomod/github.com/cockroachdb/pebble/com_github_cockroachdb_pebble-v0.0.0-20251015163055-612609e1983e.zip": "a490406f3ea666f8d9f037a17707bc4d2217585d6ec4900062ff467bcf352fb7",
368368
"https://storage.googleapis.com/cockroach-godeps/gomod/github.com/cockroachdb/redact/com_github_cockroachdb_redact-v1.1.6.zip": "018eccb5fb9ca52d43ec9eaf213539d01c1f2b94e0e822406ebfb2e9321ef6cf",
369369
"https://storage.googleapis.com/cockroach-godeps/gomod/github.com/cockroachdb/returncheck/com_github_cockroachdb_returncheck-v0.0.0-20200612231554-92cdbca611dd.zip": "ce92ba4352deec995b1f2eecf16eba7f5d51f5aa245a1c362dfe24c83d31f82b",
370370
"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
@@ -137,7 +137,7 @@ require (
137137
github.com/cockroachdb/go-test-teamcity v0.0.0-20191211140407-cff980ad0a55
138138
github.com/cockroachdb/gostdlib v1.19.0
139139
github.com/cockroachdb/logtags v0.0.0-20241215232642-bb51bb14a506
140-
github.com/cockroachdb/pebble v0.0.0-20250813192500-cfa5233c966b
140+
github.com/cockroachdb/pebble v0.0.0-20251015163055-612609e1983e
141141
github.com/cockroachdb/redact v1.1.6
142142
github.com/cockroachdb/returncheck v0.0.0-20200612231554-92cdbca611dd
143143
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
@@ -591,8 +591,8 @@ github.com/cockroachdb/logtags v0.0.0-20241215232642-bb51bb14a506 h1:ASDL+UJcILM
591591
github.com/cockroachdb/logtags v0.0.0-20241215232642-bb51bb14a506/go.mod h1:Mw7HqKr2kdtu6aYGn3tPmAftiP3QPX63LdK/zcariIo=
592592
github.com/cockroachdb/metamorphic v0.0.0-20231108215700-4ba948b56895 h1:XANOgPYtvELQ/h4IrmPAohXqe2pWA8Bwhejr3VQoZsA=
593593
github.com/cockroachdb/metamorphic v0.0.0-20231108215700-4ba948b56895/go.mod h1:aPd7gM9ov9M8v32Yy5NJrDyOcD8z642dqs+F0CeNXfA=
594-
github.com/cockroachdb/pebble v0.0.0-20250813192500-cfa5233c966b h1:OJcHd3s9IH5+Q/0sk7QH5oaiBd3WGmbGKOVhKFDm2WQ=
595-
github.com/cockroachdb/pebble v0.0.0-20250813192500-cfa5233c966b/go.mod h1:jyGqUZ9jl6TVX9HHi12f0JQ+h+oL75De//O43X898BA=
594+
github.com/cockroachdb/pebble v0.0.0-20251015163055-612609e1983e h1:Ooi/UrhH3zwh1Yw6wnokhwcQn91GgG+b9GFNB6K+2DU=
595+
github.com/cockroachdb/pebble v0.0.0-20251015163055-612609e1983e/go.mod h1:jyGqUZ9jl6TVX9HHi12f0JQ+h+oL75De//O43X898BA=
596596
github.com/cockroachdb/redact v1.1.3/go.mod h1:BVNblN9mBWFyMyqK1k3AAiSxhvhfK2oOZZ2lK+dpvRg=
597597
github.com/cockroachdb/redact v1.1.6 h1:zXJBwDZ84xJNlHl1rMyCojqyIxv+7YUpQiJLQ7n4314=
598598
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
@@ -338,6 +338,17 @@ var concurrentDownloadCompactions = settings.RegisterIntSetting(
338338
settings.IntWithMinimum(1),
339339
)
340340

341+
// This setting controls deletion pacing. This helps prevent disk slowness
342+
// events on some SSDs, that kick off an expensive GC if a lot of files are
343+
// deleted at once.
344+
var baselineDeletionRate = settings.RegisterIntSetting(
345+
settings.ApplicationLevel,
346+
"storage.baseline_deletion_rate",
347+
"the baseline allowed rate of bytes deleted per second by each store",
348+
128*1024*1024, // 128 MB/s
349+
settings.NonNegativeInt,
350+
)
351+
341352
// EngineComparer is a pebble.Comparer object that implements MVCC-specific
342353
// comparator settings for use with Pebble.
343354
var EngineComparer = func() pebble.Comparer {
@@ -423,10 +434,6 @@ func DefaultPebbleOptions() *pebble.Options {
423434
// This ensures that range keys are quickly flushed, allowing use of lazy
424435
// combined iteration within Pebble.
425436
opts.FlushDelayRangeKey = 10 * time.Second
426-
// Enable deletion pacing. This helps prevent disk slowness events on some
427-
// SSDs, that kick off an expensive GC if a lot of files are deleted at
428-
// once.
429-
opts.TargetByteDeletionRate = 128 << 20 // 128 MB
430437
opts.Experimental.ShortAttributeExtractor = shortAttributeExtractorForValues
431438
opts.Experimental.RequiredInPlaceValueBound = pebble.UserKeyPrefixBound{
432439
Lower: EncodeMVCCKey(MVCCKey{Key: keys.LocalRangeLockTablePrefix}),
@@ -735,6 +742,9 @@ func newPebble(ctx context.Context, cfg engineConfig) (p *Pebble, err error) {
735742
return int(concurrentDownloadCompactions.Get(&cfg.settings.SV))
736743
}
737744
}
745+
cfg.opts.TargetByteDeletionRate = func() int {
746+
return int(baselineDeletionRate.Get(&cfg.settings.SV))
747+
}
738748

739749
cfg.opts.EnsureDefaults()
740750

0 commit comments

Comments
 (0)