-
Notifications
You must be signed in to change notification settings - Fork 2.3k
Adding bulk collect API for filter rewrite sub aggregation collection #19933
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
Conversation
|
{"run-benchmark-test": "id_3"} |
|
The Jenkins job url is https://build.ci.opensearch.org/job/benchmark-pull-request/4977/ . Final results will be published once the job is completed. |
|
❌ Gradle check result for 1263c1d: FAILURE Please examine the workflow log, locate, and copy-paste the failure(s) below, then iterate to green. Is the failure a flaky test unrelated to your change? |
Benchmark ResultsBenchmark Results for Job: https://build.ci.opensearch.org/job/benchmark-pull-request/4977/
|
Benchmark Baseline Comparison ResultsBenchmark Results for Job: https://build.ci.opensearch.org/job/benchmark-compare/179/
|
|
{"run-benchmark-test": "id_10"} |
|
{"run-benchmark-test": "id_11"} |
|
{"run-benchmark-test": "id_12"} |
|
{"run-benchmark-test": "id_12"} |
|
The Jenkins job url is https://build.ci.opensearch.org/job/benchmark-pull-request/5025/ . Final results will be published once the job is completed. |
Benchmark ResultsBenchmark Results for Job: https://build.ci.opensearch.org/job/benchmark-pull-request/5025/
|
Benchmark Baseline Comparison ResultsBenchmark Results for Job: https://build.ci.opensearch.org/job/benchmark-compare/186/
|
|
{"run-benchmark-test": "id_10"} |
|
{"run-benchmark-test": "id_11"} |
|
The Jenkins job url is https://build.ci.opensearch.org/job/benchmark-pull-request/5026/ . Final results will be published once the job is completed. |
|
The Jenkins job url is https://build.ci.opensearch.org/job/benchmark-pull-request/5027/ . Final results will be published once the job is completed. |
Benchmark ResultsBenchmark Results for Job: https://build.ci.opensearch.org/job/benchmark-pull-request/5024/
|
Benchmark Baseline Comparison ResultsBenchmark Results for Job: https://build.ci.opensearch.org/job/benchmark-compare/187/
|
Benchmark ResultsBenchmark Results for Job: https://build.ci.opensearch.org/job/benchmark-pull-request/5026/
|
Benchmark Baseline Comparison ResultsBenchmark Results for Job: https://build.ci.opensearch.org/job/benchmark-compare/188/
|
Benchmark ResultsBenchmark Results for Job: https://build.ci.opensearch.org/job/benchmark-pull-request/5027/
|
Benchmark Baseline Comparison ResultsBenchmark Results for Job: https://build.ci.opensearch.org/job/benchmark-compare/189/
|
Signed-off-by: Ankit Jain <[email protected]>
|
❌ Gradle check result for 262d674: FAILURE Please examine the workflow log, locate, and copy-paste the failure(s) below, then iterate to green. Is the failure a flaky test unrelated to your change? |
Signed-off-by: Ankit Jain <[email protected]>
|
{"run-benchmark-test": "id_12"} |
|
The Jenkins job url is https://build.ci.opensearch.org/job/benchmark-pull-request/5028/ . Final results will be published once the job is completed. |
|
❌ Gradle check result for a9a933a: FAILURE Please examine the workflow log, locate, and copy-paste the failure(s) below, then iterate to green. Is the failure a flaky test unrelated to your change? |
Benchmark ResultsBenchmark Results for Job: https://build.ci.opensearch.org/job/benchmark-pull-request/5028/
|
Benchmark Baseline Comparison ResultsBenchmark Results for Job: https://build.ci.opensearch.org/job/benchmark-compare/190/
|
|
Flaky test failure: Retrying gradle check |
|
Okay, ended up running quite a few benchmarks. Summarizing my observations for the reviewer:
Before the change
After the specific commit
Overall, this PR is just about laying the groundwork. We should be able to provide aggregator specific implementation for each of these bulk collect apis, which should further the performance even more. Tried this out as POC for I will start creating issue/PRs for aggregation specific optimizations once this PR gets merged in! |
Description
Filter rewrite optimization for numeric bucket aggregation is able to multi range traverse over BKD, and provide matching documents bitset for each top level bucket. Individually invoking sub collectors for each docId for same bucket is wasteful, and can be done more efficient using bulk collection API. This PR adds such an API to
BucketLeafCollectorand invokes the same from few placesRelated Issues
Related #19324
Check List
[ ] API changes companion pull request created, if applicable.[ ] Public documentation issue/PR created, if applicable.By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.