{"id":"lsm-sstables-unprotected-mutation","text":"`LSMTree._sstables` is mutated by both `_flush()` (append) and `compact()` (full replacement) with no synchronization, versioning, or ref counting, making concurrent reads unsafe if threading or async is added","truth_value":"IN","source":"entries/2026/05/29/topic-superversion-refcount-implementation.md","source_url":"","source_hash":"","justifications":[],"dependents":["wal-thread-safety-stranded-by-callers"],"metadata":{},"created_at":"","updated_at":"","reviewed_at":"","verified_at":"","retracted_at":"","explanation":{"steps":[{"node":"lsm-sstables-unprotected-mutation","truth_value":"IN","reason":"premise"}]}}