{
  "slug": "rocksdb-write-buffer-manager",
  "term": "RocksDB WriteBufferManager",
  "aliases": [
    "WriteBufferManager",
    "RocksDB shared memtable budget"
  ],
  "definition": "RocksDB WriteBufferManager is a shared controller that accounts for memtable memory across participating column families or database instances and can trigger flushing, optional write stalls and block-cache charges.",
  "note": "The scope is participating DB objects in one process, not every process on a host. [dong2021] In v10.10.1, allow_stall defaults to false; with it enabled and a positive budget, the stall threshold includes equality. A zero constructor budget disables the manager's size-based flush and stall decisions, not all database flush triggers, and can still permit cache charging. [wbm-api] Cache reservations account for memtable allocations rather than duplicating their contents; delayed reservation release means the cache charge and live memtable bytes need not match. The allocation path absorbs cache-reservation errors, so the budget is not a hard process-memory cap. [wbm-code]",
  "related": [
    "memtable",
    "rocksdb-column-family",
    "rocksdb-write-stall",
    "rocksdb-write-slowdown"
  ],
  "citations": [
    {
      "id": "wbm-api",
      "title": "RocksDB v10.10.1. WriteBufferManager: budget, optional stalls and cache charging.",
      "url": "https://github.com/facebook/rocksdb/blob/v10.10.1/include/rocksdb/write_buffer_manager.h",
      "accessed": "2026-10-15"
    },
    {
      "id": "wbm-code",
      "title": "RocksDB v10.10.1. WriteBufferManager implementation: reservations and stall release.",
      "url": "https://github.com/facebook/rocksdb/blob/v10.10.1/memtable/write_buffer_manager.cc",
      "accessed": "2026-10-15"
    },
    {
      "id": "dong2021",
      "title": "Dong et al. The RocksDB Experience. FAST 2021, section 4: local and shared resource management.",
      "url": "https://www.usenix.org/system/files/fast21-dong.pdf",
      "accessed": "2026-10-15"
    },
    {
      "id": "hesela",
      "title": "RocksDB: shared memory budgets and write-stall domains.",
      "url": "https://hesela.com/analyses/rocksdb-wal-flush-manifest-boundaries/#shared-memory",
      "accessed": "2026-10-15"
    }
  ],
  "status": "shipping",
  "advantages": [],
  "limitations": [],
  "supersedes": [],
  "supersededBy": [],
  "firstSeen": null,
  "lastSeen": null,
  "updated": "2026-10-15"
}
