diff --git a/pkg/kv/kvserver/store.go b/pkg/kv/kvserver/store.go index 6c25a43159e9..84d6f2a3b6e5 100644 --- a/pkg/kv/kvserver/store.go +++ b/pkg/kv/kvserver/store.go @@ -158,7 +158,7 @@ var bulkIOWriteLimit = settings.RegisterByteSizeSetting( settings.SystemOnly, "kv.bulk_io_write.max_rate", "the rate limit (bytes/sec) to use for writes to disk on behalf of bulk io ops", - 1<<40, + 1<<40, // 1 TiB ).WithPublic() // addSSTableRequestLimit limits concurrent AddSSTable requests. @@ -166,7 +166,7 @@ var addSSTableRequestLimit = settings.RegisterIntSetting( settings.SystemOnly, "kv.bulk_io_write.concurrent_addsstable_requests", "number of concurrent AddSSTable requests per store before queueing", - 1, + math.MaxInt, // unlimited settings.PositiveInt, ) @@ -179,7 +179,7 @@ var addSSTableAsWritesRequestLimit = settings.RegisterIntSetting( settings.SystemOnly, "kv.bulk_io_write.concurrent_addsstable_as_writes_requests", "number of concurrent AddSSTable requests ingested as writes per store before queueing", - 10, + math.MaxInt, // unlimited settings.PositiveInt, ) diff --git a/pkg/storage/engine.go b/pkg/storage/engine.go index 0dc531e4014d..faf6d244786f 100644 --- a/pkg/storage/engine.go +++ b/pkg/storage/engine.go @@ -1554,6 +1554,13 @@ var ingestDelayTime = settings.RegisterDurationSetting( time.Second*5, ) +var preIngestDelayEnabled = settings.RegisterBoolSetting( + settings.SystemOnly, + "pebble.pre_ingest_delay.enabled", + "controls whether the pre-ingest delay mechanism is active", + false, +) + // PreIngestDelay may choose to block for some duration if L0 has an excessive // number of files in it or if PendingCompactionBytesEstimate is elevated. This // it is intended to be called before ingesting a new SST, since we'd rather @@ -1567,6 +1574,9 @@ func preIngestDelay(ctx context.Context, eng Engine, settings *cluster.Settings) if settings == nil { return } + if !preIngestDelayEnabled.Get(&settings.SV) { + return + } metrics := eng.GetMetrics() targetDelay := calculatePreIngestDelay(settings, metrics.Metrics)