{
  "slug": "rocksdb-write-stall",
  "term": "RocksDB write stall",
  "aliases": [
    "write stall (RocksDB)"
  ],
  "definition": "A RocksDB write stall is backpressure that delays or stops foreground writes when configured resource or background-work limits are reached.",
  "note": "The project uses stall for both slowdown and full stop; it does not mean a device has failed. A trigger in one column family can affect writes across that database. [stalls] The v10.10.1 decision code evaluates stop conditions before slowdown conditions, and disabling automatic compactions bypasses its L0 and pending-compaction triggers but not its memtable triggers. [stall-code] WriteOptions::no_slowdown can return Incomplete for a recognized stall; it does not make the entire write path nonblocking. [write-path]",
  "related": [
    "rocksdb-write-slowdown",
    "pending-compaction-bytes",
    "rocksdb-column-family",
    "memtable",
    "compaction",
    "rocksdb-write-buffer-manager"
  ],
  "citations": [
    {
      "id": "stalls",
      "title": "RocksDB project. Write Stalls: causes, scope and admission behavior.",
      "url": "https://github.com/facebook/rocksdb/wiki/Write-Stalls",
      "accessed": "2026-10-15"
    },
    {
      "id": "stall-code",
      "title": "RocksDB v10.10.1. ColumnFamilyData::GetWriteStallConditionAndCause.",
      "url": "https://github.com/facebook/rocksdb/blob/v10.10.1/db/column_family.cc#L986",
      "accessed": "2026-10-15"
    },
    {
      "id": "write-path",
      "title": "RocksDB v10.10.1. DelayWrite and write preprocessing.",
      "url": "https://github.com/facebook/rocksdb/blob/v10.10.1/db/db_impl/db_impl_write.cc#L2203",
      "accessed": "2026-10-15"
    },
    {
      "id": "hesela",
      "title": "RocksDB: a WAL sync is not a memtable flush; write backpressure boundaries.",
      "url": "https://hesela.com/analyses/rocksdb-wal-flush-manifest-boundaries/#write-backpressure",
      "accessed": "2026-10-15"
    }
  ],
  "status": "shipping",
  "advantages": [],
  "limitations": [],
  "supersedes": [],
  "supersededBy": [],
  "firstSeen": null,
  "lastSeen": null,
  "updated": "2026-10-15"
}
