Decouple compaction commit from reads #90
Labels
enhancement
New feature or request
good first issue
Good for newcomers
help wanted
Extra attention is needed
performance
refactor
test
Right now when a compaction wants to commit its changes, it needs to write lock the active memtable to make sure that it cannot drop files that may still be read currently.
Instead, it should only mark segments as deleted (atomic bool), so it does not need the memtable lock at all.
On drop, the segments should delete themselves.
That way, when a read starts, it keeps holding its referenced segments alive; this may increase disk space usage temporarily, but that's fine.
The text was updated successfully, but these errors were encountered: