apache / apache/pinot

Combine value aggregator interfaces

Open
#10,300 3 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.