Combine value aggregator interfaces
- Dominant language
- Java
- Stars
- 6.1k
- Forks
- 1.5k
- Avg merge
- 2d 3h
- Merged PRs (30d)
- 195
Description
We have 2 value aggregator interfaces:
1. `org.apache.pinot.core.segment.processing.aggregator.ValueAggregator`: Used in the segment processing framework (mostly used by minion tasks)
2. `org.apache.pinot.segment.local.aggregator.ValueAggregator`: Used by startree generation/aggregation config.
We can combine these aggregators to have the feature parity among all aggregation related features (merge/rollup, startree index, realtime aggregate metrics).
Contributor guide
Research direction
Compare org.apache.pinot.core.segment.processing.aggregator.ValueAggregator with org.apache.pinot.segment.local.aggregator.ValueAggregator and trace their callers. Review how merge/rollup, StarTree index, and realtime aggregate metrics use these contracts. Done means the aggregation paths share a combined interface while retaining feature parity.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- databases
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100