apache / apache/druid

Replace MapBasedRow with ArrayBasedRow for groupBy

Open
#6,389 3 comments 0 reactions 0 assignees View on GitHub
Area - Querying Performance stale
Dominant language
Java
Stars
14.1k
Forks
3.8k
Avg merge
2d 31m
Merged PRs (30d)
209

Description

MapBasedRow is a row backed by a hash map which can incur substantial overheads while adding and getting items. This can become more significant as the result size grows.

Since the column order in the result is decided and fixed when a query is submitted, we can use ArrayBasedRow instead which is backed by an array.

Contributor guide

Open the contributing guide

Research direction

Start by locating the groupBy result-row construction and reading the existing MapBasedRow and ArrayBasedRow implementations. Confirm the fixed result-column order is preserved, then verify that groupBy uses array-backed rows without changing result behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
databases, performance
Issue type
Refactor
Difficulty
3/5
Estimated time
1-2 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.