[multistage] run planner for routing on controller
- 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
Assessment
This issue has not been assessed yet.