-
Notifications
You must be signed in to change notification settings - Fork 1.8k
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
Support scripting for composite aggs in concurrent segment search #15072
Conversation
❌ Gradle check result for fd19066: 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? |
❌ Gradle check result for f106737: 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? |
❌ Gradle check result for 27ee2e8: 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? |
#14826 is in progress and would add the baseline comparison results on the PR as well once done. |
|
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #15072 +/- ##
============================================
- Coverage 71.82% 71.78% -0.05%
+ Complexity 62778 62765 -13
============================================
Files 5169 5169
Lines 294646 294665 +19
Branches 42610 42616 +6
============================================
- Hits 211644 211529 -115
- Misses 65573 65721 +148
+ Partials 17429 17415 -14 ☔ View full report in Codecov by Sentry. |
Signed-off-by: Jay Deng <[email protected]>
The backport to
To backport manually, run these commands in your terminal: # Navigate to the root of your repository
cd $(git rev-parse --show-toplevel)
# Fetch latest updates from GitHub
git fetch
# Create a new working tree
git worktree add ../.worktrees/OpenSearch/backport-2.x 2.x
# Navigate to the new working tree
pushd ../.worktrees/OpenSearch/backport-2.x
# Create a new branch
git switch --create backport/backport-15072-to-2.x
# Cherry-pick the merged commit of this pull request and resolve the conflicts
git cherry-pick -x --mainline 1 a785073e5e7925ef8e5605427cae943822100f4a
# Push it to GitHub
git push --set-upstream origin backport/backport-15072-to-2.x
# Go back to the original working tree
popd
# Delete the working tree
git worktree remove ../.worktrees/OpenSearch/backport-2.x Then, create a pull request where the |
@jed326 mind please backport manually? thank you |
…ensearch-project#15072) Signed-off-by: Jay Deng <[email protected]>
…ensearch-project#15072) Signed-off-by: Jay Deng <[email protected]>
…ensearch-project#15072) Signed-off-by: Jay Deng <[email protected]>
…ensearch-project#15072) Signed-off-by: Jay Deng <[email protected]>
…5072) (#15094) Signed-off-by: Jay Deng <[email protected]>
…ensearch-project#15072) Signed-off-by: Jay Deng <[email protected]>
…ensearch-project#15072) Signed-off-by: Jay Deng <[email protected]>
…ensearch-project#15072) Signed-off-by: Jay Deng <[email protected]>
Description
Fix race condition related to
SourceLookup
when using _source scripts in concurrent segment search.SearchLookup
is created per-QueryShardContext
so it is shared across threads.SearchLookup::getLeafSearchLookup
is called as a part ofgetLeafCollector
so it creates a newLeafSearchLookup
for each thread. However, theSourceLookup
passed into eachLeafSearchLookup
is the single instance created inSearchLookup
which will be shared across threads but is not thread safe. To resolve this we initialize a newSourceLookup
and pass it into each newLeafSearchLookup
instance.Ideally we would create a new
SourceLookup
only for each slice instead of for each leaf, however I don't see a great way to do that.Related Issues
Resolves #12947
Relates #15007
Check List
- [ ] API changes companion pull request 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.