somandal opened a new pull request, #8680: URL: https://github.com/apache/pinot/pull/8680
Improve the accuracy of the Explain plan output. Today Explain plan selects a single segment to send the request to on the Server side. This segment may be pruned on the server side or may not match the filters if any. This changes addresses this shortcoming by doing the following: - Sending the Explain Plan query to all segments across all Servers (only OFFLINE servers in case of hybrid tables) - Each Server calculates the segment with the maximum operators as a heuristic for accuracy and returns the Explain Plan output for this segment. Each Server also ignores segments with EmptyFilterOperator or MatchAllFilterOperator if a segment without these operators is present. If no segment without these two operators are present then the one with the most operators is returned. - Each Broker now receives a single plan from each Server. It walks through all the results and finds the one with the maximum number of rows and returns that as the final Explain plan output. If all results have the EmptyFilter or MatchAllFilter then that is returned, otherwise these results are pruned by the Broker. Instructions: 1. The PR has to be tagged with at least one of the following labels (*): 1. `feature` 2. `bugfix` 3. `performance` 4. `ui` 5. `backward-incompat` 6. `release-notes` (**) 2. Remove these instructions before publishing the PR. (*) Other labels to consider: - `testing` - `dependencies` - `docker` - `kubernetes` - `observability` - `security` - `code-style` - `extension-point` - `refactor` - `cleanup` (**) Use `release-notes` label for scenarios like: - New configuration options - Deprecation of configurations - Signature changes to public methods/interfaces - New plugins added or old plugins removed -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@pinot.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@pinot.apache.org For additional commands, e-mail: commits-h...@pinot.apache.org