facebook / facebook/rocksdb

L0->BaseLevel compaction can be paralleled if not overlap

Open
#10,311 3 comments 0 reactions 0 assignees View on GitHub
compaction performance
Dominant language
C++
Stars
32.1k
Forks
6.9k
Avg merge
32m
Merged PRs (30d)
1

Description

### Expected behavior
If L0 files has some overlapping group, such as:
L0 files|overlapping group
----------------|-------------
1.sst 2.sst 3.sst | group1
4.sst 5.sst 6.sst | group2
7.sst 8.sst 9.sst | group3
more files | more groups

files in same group overlap, but don't overlap between different groups, thus compaction for files in different group can be paralleled.

### Actual behavior
L0->BaseLevel compaction can not be paralleled.

### Steps to reproduce the behavior
IngestExternalFiles with such inputs with `allow_global_seqno=true`.

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.