-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Reject MSE queries with a large number of elements in an IN clause #17481
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
base: master
Are you sure you want to change the base?
Conversation
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## master #17481 +/- ##
============================================
- Coverage 63.27% 63.27% -0.01%
+ Complexity 1477 1476 -1
============================================
Files 3167 3168 +1
Lines 189062 189096 +34
Branches 28930 28936 +6
============================================
+ Hits 119624 119642 +18
- Misses 60153 60169 +16
Partials 9285 9285
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
f517642 to
d9824b0
Compare
| */ | ||
| public static final String CONFIG_OF_MSE_MAX_IN_CLAUSE_ELEMENTS = | ||
| "pinot.broker.multistage.max.in.clause.elements"; | ||
| public static final int DEFAULT_MSE_MAX_IN_CLAUSE_ELEMENTS = 1000; |
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 will introduce backward incompatibility for existing queries right?
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.
Yeah, that's a fair point. Do you think we should introduce this knob but keep it off by default so that users can tune it as per their workload (if and when they run into broker issues with such queries)?
|
|
||
| /// @deprecated Use [#compile] and then [plan][CompiledQuery#planQuery(long)] the returned query instead | ||
| @VisibleForTesting | ||
| @Deprecated |
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.
Should we keep it as deprecated? Seems like it is used only in test, and not for production usage
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.
I've retained the VisibleForTesting annotation, why do we need to keep it as deprecated too? The suggestion to Use [#compile] and then [plan][CompiledQuery#planQuery(long)] the returned query instead also doesn't make much sense, because that's exactly what this method is doing, so I don't see why it needs to be deprecated when it's just a convenient shortcut.
pinot-query-planner/src/main/java/org/apache/pinot/query/QueryEnvironment.java
Outdated
Show resolved
Hide resolved
d8ee7ef to
e2ada54
Compare
e2ada54 to
9b17bc0
Compare
Uh oh!
There was an error while loading. Please reload this page.