apache / apache/pinot

[multistage] run planner for routing on controller

Open
#10,871 7 comments 0 reactions 1 assignee Claimed by @tibrewalpratik17 View on GitHub
bug feature multi-stage
Dominant language
Java
Stars
6.1k
Forks
1.5k
Avg merge
2d 55m
Merged PRs (30d)
182

Description

Description
==
when query broker for a specific query. there's no need to parse out the tenant info.
however when using the Pinot controller UI. controller needs to first detect all the tables accessed by the query, then find the common tenant of a broker to route the query to.

Status Quo
==
currently this is done via a util done in #10336. however this util has lots of drawback and overhead. b/c it is not running the actual planner.

Proposed solution
==
1. run the calcite planner on controller (`QueryEnvironment.compileQuery`)
2. and use `RelOptUtils.findTables` to find all tables accessed by this query.
3. use the same util currently available to find common broker tenant list.

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.