Skip to content

[server][client] Add cooperative KV backpressure based on RocksDB L0#3463

Open
platinumhamburg wants to merge 4 commits into
apache:mainfrom
platinumhamburg:kv-backpressure-naming
Open

[server][client] Add cooperative KV backpressure based on RocksDB L0#3463
platinumhamburg wants to merge 4 commits into
apache:mainfrom
platinumhamburg:kv-backpressure-naming

Conversation

@platinumhamburg

Copy link
Copy Markdown
Contributor

Introduce a two-tier backpressure model to keep RocksDB write stall from blocking RPC handler threads:

  • Tier 1 (piggyback): server reports a normalized [0, 1) pressure on PbPutKvRespForBucket once L0 reaches kv.backpressure.l0-slowdown-trigger (default 12); client throttles per bucket with max_throttle_ms * p^3 via client.writer.kv-backpressure.max-throttle-ms (default 5000ms).
  • Tier 2 (hard rejection): once L0 reaches RocksDB's level0_slowdown_writes_trigger, server throws StorageBackpressureException (Errors code 71, RetriableException); client applies the same max-throttle window as backoff before retry.

Add maintenance configuration doc for the new server option.

Purpose

Linked issue: close #3454 3454

Brief change log

Tests

API and Format

Documentation

@platinumhamburg platinumhamburg force-pushed the kv-backpressure-naming branch 4 times, most recently from e2108da to 86877ae Compare June 12, 2026 06:45
@platinumhamburg platinumhamburg force-pushed the kv-backpressure-naming branch from 86877ae to 4cb3725 Compare June 17, 2026 12:27
@platinumhamburg platinumhamburg force-pushed the kv-backpressure-naming branch from b9df4f1 to 2dfc117 Compare June 22, 2026 15:31
@platinumhamburg platinumhamburg force-pushed the kv-backpressure-naming branch from 2dfc117 to f2c44ef Compare June 22, 2026 15:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Backpressure on KV Operations Instead of Cluster-Wide Stalling

1 participant