facebook / facebook/rocksdb

Mempurge jobs do not commit VersionEdits for concurrent flush jobs when picked as leader

Open
#9,022 0 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.