{
  "slug": "pending-compaction-bytes",
  "term": "RocksDB pending compaction bytes",
  "aliases": [
    "rocksdb.estimate-pending-compaction-bytes"
  ],
  "definition": "RocksDB pending compaction bytes is an estimate of rewrite work needed to bring LSM levels within their size targets under level-based compaction.",
  "note": "The v10.10.1 property contract limits this estimate to level-based compaction. It is not occupied disk space, free capacity, WAL length or an exact prediction of physical I/O. [properties] Separate soft and hard limits govern slowdown and stop conditions; in the pinned code those limits must be positive and automatic compactions enabled for these triggers. [stall-code] Compare the estimate with actual delayed write rate and stopped-write state, not with a claimed durability guarantee. [properties]",
  "related": [
    "leveled-compaction",
    "compaction",
    "rocksdb-write-stall",
    "rocksdb-write-slowdown",
    "database-write-amplification"
  ],
  "citations": [
    {
      "id": "properties",
      "title": "RocksDB v10.10.1. Pending compaction bytes and write-control properties.",
      "url": "https://github.com/facebook/rocksdb/blob/v10.10.1/include/rocksdb/db.h#L1263",
      "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": "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"
}
