-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[timeseries] Part-1: Misc. Refactor to Enable Broker Reduce #14582
Conversation
pinot-query-runtime/src/main/java/org/apache/pinot/query/mailbox/GrpcSendingMailbox.java
Show resolved
Hide resolved
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #14582 +/- ##
============================================
+ Coverage 61.75% 63.97% +2.22%
- Complexity 207 1569 +1362
============================================
Files 2436 2683 +247
Lines 133233 147352 +14119
Branches 20636 22590 +1954
============================================
+ Hits 82274 94268 +11994
- Misses 44911 46141 +1230
- Partials 6048 6943 +895
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
...not-timeseries-m3ql/src/main/java/org/apache/pinot/tsdb/m3ql/plan/TransformNullPlanNode.java
Show resolved
Hide resolved
pinot-query-runtime/src/main/java/org/apache/pinot/query/mailbox/GrpcSendingMailbox.java
Show resolved
Hide resolved
@@ -54,6 +55,11 @@ public ExecutorService getExecutorService() { | |||
return _executorService; | |||
} | |||
|
|||
@Override | |||
public BaseTimeSeriesPlanNode withInputs(List<BaseTimeSeriesPlanNode> newInputs) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What is the idea behind withInputs?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is to enable plan cloning, which allows replacing sub-trees of the plan.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
in MSQ we also use it when executing the explain plan that includes segment information (aka indexes).
Summary
First of the multi-part PRs to enable Broker Reduce for the Time Series Engine.
This PR does the following:
child
references toinputs
to be consistent with pinot-query-planner PlanNode.withInputs
to allow sub-plan cloning in the future.GrpcSendingMailbox
toDataBlockUtils
. For Broker Reduce, we will send a row basedTransferableBlock
from the servers to the brokers.Note: This is a breaking change for the
pinot-timeseries-spi
, but that should be okay since that spi is marked Unstable and is evolving rapidly.Test Plan
Ran the Quickstart on local. After the 3-part PRs we will be testing the build out in one of our clusters for scale/perf testing.