cortex
cortex copied to clipboard
Partitioning compaction for Cortex
What this PR does: This implements https://github.com/cortexproject/cortex/pull/4843.
The main logic of this implementation is described inside Timeseries Partitioning in Compactor Proposal. Basically, the grouper takes in all blocks belongs to certain compaction time range and partitions them into sub-groups (partitions) each partition contains subset of incoming resource blocks. Then sends partitions for compaction. The implementation supports multiple compactors working on different partitions in parallel so source blocks with earlier time range will not be delayed because of partitioning.
Which issue(s) this PR fixes: Fixes #4705
Checklist
- [X] Tests updated
- [X] Documentation added
- [x]
CHANGELOG.mdupdated - the order of entries should be[CHANGE],[FEATURE],[ENHANCEMENT],[BUGFIX]