compaction-lacks-crash-safety-across-implementations

Status: OUT

No storage engine implementation uses the write-temp/fsync/rename pattern for file creation, and both Bitcask implementations delete old segments before renaming replacements, creating crash windows where data exists in neither old nor new files.

Justifications

Three observations across Bitcask and LSM establish that non-atomic file operations are a codebase-wide pattern, not implementation-specific

Depends on (SL): no-atomic-file-creation, delete-before-rename-ordering, lsm-compact-no-atomic-rename

Depended on by

JSON