-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Improve the Explain Plan accuracy #8738
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
Improve the Explain Plan accuracy #8738
Conversation
…rbose mode, b) deepest operator tree in normal mode based on some precedence ordering
Codecov Report
@@ Coverage Diff @@
## master #8738 +/- ##
============================================
+ Coverage 69.65% 69.70% +0.05%
- Complexity 4612 4615 +3
============================================
Files 1730 1732 +2
Lines 90314 90596 +282
Branches 13421 13476 +55
============================================
+ Hits 62904 63152 +248
- Misses 23042 23050 +8
- Partials 4368 4394 +26
Flags with carried forward coverage won't be shown. Click here to find out more.
Continue to review full report at Codecov.
|
|
@Jackie-Jiang / @richardstartin - please help take a look at the improvements here when you get a chance. I have offline worked with @somandal on the changes before putting out the PR. |
pinot-broker/src/main/java/org/apache/pinot/broker/requesthandler/BaseBrokerRequestHandler.java
Outdated
Show resolved
Hide resolved
pinot-broker/src/main/java/org/apache/pinot/broker/requesthandler/BaseBrokerRequestHandler.java
Outdated
Show resolved
Hide resolved
…o use on Broker side
|
Since the EXPLAIN PLAN output now gives a much broader picture, I am wondering if it makes sense to delineate the steps between server, broker, and segment a bit more, i.e. replacing the |
|
The issue #8607 should be fixed by this PR |
@amrishlal this is a good idea, thanks for the suggestion! Discussed with @siddharthteotia and we decided to pick this up as a future enhancement (we plan to add additional explain nodes and other improvements). I'll create a ticket and a TODO for this. |
|
Rather than prefix the names for the different components, why not add another column with the component? |
|
Can you document how to toggle verbose mode? |
richardstartin
left a comment
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 going to be very useful, thank you
Yup, that's a great idea. I'll pick this up as part of my other Explain plan improvements. Thanks for the suggestion! |
I've updated the comment to show the query option for verbose vs. non-verbose. Is there somewhere else this needs to be documented? |
|
@somandal we can update the Pinot user docs explaining the new behavior and how to use verbose mode. I can help you do that offline. |
A vast majority of the code changes are in the tests.
The existing behavior for EXPLAIN PLAN has the following limitations:
This PR address the above limitations by the following changes:
Example query (verbose enabled):
Here's an example of the Explain Plan output with verbose mode enabled:
Example query (verbose disabled):
With verbose mode disabled, only the first plan will be selected as it has the deepest tree:
cc @siddharthteotia