Skip to content

Memtable flushing HUGE logical fallacy #77

@mrsladoje

Description

@mrsladoje

We flush N memtables at once concurrently using a worker pool. Each memtable gets the according index for the sstable to flush into, but a "fresher" memtable might flush before an "older" one, causing data loss.

Instead, we should only flush the oldest memtable when we fill up all N memtables, and do so in a separate goroutine to allow for it to be done in the background.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions