{
  "slug": "rocksdb-atomic-flush",
  "term": "RocksDB atomic flush",
  "aliases": [
    "atomic_flush"
  ],
  "definition": "RocksDB atomic flush installs the results of flushing selected column families into the database as one logical all-or-nothing MANIFEST group.",
  "note": "Automatic atomic flush covers all column families; a manual call must identify the participating families. [atomic] It does not make every earlier acknowledgment durable or include later writes automatically; the pinned options header warns that subsequent WAL-enabled writes can replay independently. [options]",
  "related": [
    "rocksdb-column-family",
    "rocksdb-manifest",
    "memtable",
    "write-ahead-log"
  ],
  "citations": [
    {
      "id": "options",
      "title": "RocksDB v10.10.1. options.h: manual_wal_flush, atomic_flush and FlushOptions.",
      "url": "https://github.com/facebook/rocksdb/blob/v10.10.1/include/rocksdb/options.h",
      "accessed": "2026-10-14"
    },
    {
      "id": "atomic",
      "title": "RocksDB project. Atomic flush: grouped persistence and explicit column-family selection.",
      "url": "https://github.com/facebook/rocksdb/wiki/Atomic-flush",
      "accessed": "2026-10-14"
    },
    {
      "id": "hesela",
      "title": "RocksDB: a WAL sync is not a memtable flush",
      "url": "https://hesela.com/analyses/rocksdb-wal-flush-manifest-boundaries/",
      "accessed": "2026-10-14"
    }
  ],
  "status": "shipping",
  "advantages": [],
  "limitations": [],
  "supersedes": [],
  "supersededBy": [],
  "firstSeen": null,
  "lastSeen": null,
  "updated": "2026-10-14"
}
