Skip to content

Improve compaction picker for multi-level FIFO#10726

Closed
yhchiang-sol wants to merge 2 commits intofacebook:mainfrom
yhchiang-sol:multi-level-fifo-2
Closed

Improve compaction picker for multi-level FIFO#10726
yhchiang-sol wants to merge 2 commits intofacebook:mainfrom
yhchiang-sol:multi-level-fifo-2

Conversation

@yhchiang-sol
Copy link
Copy Markdown
Contributor

#10348 enables FIFO compaction to
open a multi-level DB by generalizing the target level of compaction from L0
to the bottom-most non-empty level while keeping the main compaction picker
logic unchanged.

However, different from L0, files in other levels are not sorted in time order.
As a result, simply evicting the right-most sst file in a non-L0 level might not
necessarily evict the oldest sst file.

This PR fixes this part by using the file creation time for non-L0 files while the
CompactionPicker logic for L0 in FIFOCompaction still unchanged.

Test Plan:
Added additional test cases to ensure the correct FIFO order for multi-level DB.

This PR is based on top of #10348.

@yhchiang-sol
Copy link
Copy Markdown
Contributor Author

Abandon this PR as we agree to delete non-L0 files from the left (i.e., one with the smallest key first).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants