-
Notifications
You must be signed in to change notification settings - Fork 4.1k
storage/engine: implement Pebble.PreIngestDelay #41598
Copy link
Copy link
Closed
Description
RocksDB.PreIngestDelay has the following comment:
// 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
// backpressure the bulk operation adding SSTs than slow down the whole RocksDB
// instance and impact all forground traffic by adding too many files to it.
// After the number of L0 files exceeds the configured limit, it gradually
// begins delaying more for each additional file in L0 over the limit until
// hitting its configured (via settings) maximum delay. If the pending
// compaction limit is exceeded, it waits for the maximum delay.
Pebble.PreIngestDelay is currently a no-op, but something similar needs to be done. Using the exact same heuristics would be a good first step.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels