Mempurge jobs do not commit VersionEdits for concurrent flush jobs when picked as leader
Open
bug
up-for-grabs
- Dominant language
- C++
- Stars
- 32.1k
- Forks
- 6.9k
- Avg merge
- 32m
- Merged PRs (30d)
- 1
Description
In case of concurrent flush jobs, one job is picked to be the "leader" and commit the results of all concurrent flushes to the MANIFEST. If this job happens to be a mempurge (which doesn't involve committing a new `VersionEdit`), the code will not commit anything for any of the concurrent jobs. Code-wise, the problem seems to be that the flag `write_edits` of `TryInstallMemtableFlushResults` is applied to all concurrent flushes when this is actually supposed to be handled on a flush-by-flush basis.
Contributor guide
Assessment
This issue has not been assessed yet.