-
Notifications
You must be signed in to change notification settings - Fork 1.9k
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
Update AggregatorFactory to provide a method to indicate if it supports concurrent search #9469
Conversation
Gradle Check (Jenkins) Run Completed with:
|
Gradle Check (Jenkins) Run Completed with:
|
Compatibility status:Checks if related components are compatible with change 61c5f17 Incompatible componentsIncompatible components: [https://github.com/opensearch-project/index-management.git, https://github.com/opensearch-project/notifications.git, https://github.com/opensearch-project/asynchronous-search.git, https://github.com/opensearch-project/security-analytics.git] Skipped componentsCompatible componentsCompatible components: [https://github.com/opensearch-project/security.git, https://github.com/opensearch-project/job-scheduler.git, https://github.com/opensearch-project/sql.git, https://github.com/opensearch-project/k-nn.git, https://github.com/opensearch-project/observability.git, https://github.com/opensearch-project/cross-cluster-replication.git, https://github.com/opensearch-project/performance-analyzer.git, https://github.com/opensearch-project/performance-analyzer-rca.git, https://github.com/opensearch-project/ml-commons.git, https://github.com/opensearch-project/geospatial.git, https://github.com/opensearch-project/alerting.git, https://github.com/opensearch-project/anomaly-detection.git, https://github.com/opensearch-project/neural-search.git, https://github.com/opensearch-project/common-utils.git, https://github.com/opensearch-project/opensearch-oci-object-storage.git, https://github.com/opensearch-project/reporting.git] |
Gradle Check (Jenkins) Run Completed with:
|
Gradle Check (Jenkins) Run Completed with:
|
Signed-off-by: Jay Deng <jayd0104@gmail.com>
Signed-off-by: Jay Deng <jayd0104@gmail.com>
Compatibility status:Checks if related components are compatible with change f860d16 Incompatible componentsIncompatible components: [https://github.com/opensearch-project/index-management.git, https://github.com/opensearch-project/asynchronous-search.git] Skipped componentsCompatible componentsCompatible components: [https://github.com/opensearch-project/security.git, https://github.com/opensearch-project/alerting.git, https://github.com/opensearch-project/anomaly-detection.git, https://github.com/opensearch-project/sql.git, https://github.com/opensearch-project/job-scheduler.git, https://github.com/opensearch-project/observability.git, https://github.com/opensearch-project/k-nn.git, https://github.com/opensearch-project/common-utils.git, https://github.com/opensearch-project/reporting.git, https://github.com/opensearch-project/cross-cluster-replication.git, https://github.com/opensearch-project/geospatial.git, https://github.com/opensearch-project/performance-analyzer.git, https://github.com/opensearch-project/ml-commons.git, https://github.com/opensearch-project/notifications.git, https://github.com/opensearch-project/performance-analyzer-rca.git, https://github.com/opensearch-project/neural-search.git, https://github.com/opensearch-project/security-analytics.git, https://github.com/opensearch-project/opensearch-oci-object-storage.git] |
Compatibility status:Checks if related components are compatible with change e0daaff Incompatible componentsIncompatible components: [https://github.com/opensearch-project/index-management.git, https://github.com/opensearch-project/asynchronous-search.git] Skipped componentsCompatible componentsCompatible components: [https://github.com/opensearch-project/security.git, https://github.com/opensearch-project/sql.git, https://github.com/opensearch-project/job-scheduler.git, https://github.com/opensearch-project/k-nn.git, https://github.com/opensearch-project/observability.git, https://github.com/opensearch-project/cross-cluster-replication.git, https://github.com/opensearch-project/performance-analyzer.git, https://github.com/opensearch-project/performance-analyzer-rca.git, https://github.com/opensearch-project/ml-commons.git, https://github.com/opensearch-project/geospatial.git, https://github.com/opensearch-project/alerting.git, https://github.com/opensearch-project/notifications.git, https://github.com/opensearch-project/neural-search.git, https://github.com/opensearch-project/anomaly-detection.git, https://github.com/opensearch-project/security-analytics.git, https://github.com/opensearch-project/common-utils.git, https://github.com/opensearch-project/opensearch-oci-object-storage.git, https://github.com/opensearch-project/reporting.git] |
Gradle Check (Jenkins) Run Completed with:
|
Gradle Check (Jenkins) Run Completed with:
|
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-9469-to-2.x
# Cherry-pick the merged commit of this pull request and resolve the conflicts
git cherry-pick -x --mainline 1 ae0c9bd74d2760e43e52234212f03e9146061522
# Push it to GitHub
git push --set-upstream origin backport/backport-9469-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 please send manual backport to 2.x, thank you |
…ts concurrent search (opensearch-project#9469) * Parameterize parent-join search tests and add coverage for sparse slice case Signed-off-by: Jay Deng <jayd0104@gmail.com> * Separate request-based and settings-based concurrent segment search controls and introduce AggregatorFactory method to determine concurrent search support Signed-off-by: Jay Deng <jayd0104@gmail.com> * Add supportsConcurrentSegmentSearch override for all AggregatorFactory concrete classes Signed-off-by: Jay Deng <jayd0104@gmail.com> * Addressing feedback Signed-off-by: Jay Deng <jayd0104@gmail.com> --------- Signed-off-by: Jay Deng <jayd0104@gmail.com>
…ts concurrent search (opensearch-project#9469) * Parameterize parent-join search tests and add coverage for sparse slice case Signed-off-by: Jay Deng <jayd0104@gmail.com> * Separate request-based and settings-based concurrent segment search controls and introduce AggregatorFactory method to determine concurrent search support Signed-off-by: Jay Deng <jayd0104@gmail.com> * Add supportsConcurrentSegmentSearch override for all AggregatorFactory concrete classes Signed-off-by: Jay Deng <jayd0104@gmail.com> * Addressing feedback Signed-off-by: Jay Deng <jayd0104@gmail.com> --------- Signed-off-by: Jay Deng <jayd0104@gmail.com>
…ts concurrent search (opensearch-project#9469) * Parameterize parent-join search tests and add coverage for sparse slice case Signed-off-by: Jay Deng <jayd0104@gmail.com> * Separate request-based and settings-based concurrent segment search controls and introduce AggregatorFactory method to determine concurrent search support Signed-off-by: Jay Deng <jayd0104@gmail.com> * Add supportsConcurrentSegmentSearch override for all AggregatorFactory concrete classes Signed-off-by: Jay Deng <jayd0104@gmail.com> * Addressing feedback Signed-off-by: Jay Deng <jayd0104@gmail.com> --------- Signed-off-by: Jay Deng <jayd0104@gmail.com>
…ts concurrent search (opensearch-project#9469) * Parameterize parent-join search tests and add coverage for sparse slice case Signed-off-by: Jay Deng <jayd0104@gmail.com> * Separate request-based and settings-based concurrent segment search controls and introduce AggregatorFactory method to determine concurrent search support Signed-off-by: Jay Deng <jayd0104@gmail.com> * Add supportsConcurrentSegmentSearch override for all AggregatorFactory concrete classes Signed-off-by: Jay Deng <jayd0104@gmail.com> * Addressing feedback Signed-off-by: Jay Deng <jayd0104@gmail.com> --------- Signed-off-by: Jay Deng <jayd0104@gmail.com> Signed-off-by: Gagan Juneja <gjjuneja@amazon.com>
…ts concurrent search (#9469) (#9550) * Parameterize parent-join search tests and add coverage for sparse slice case * Separate request-based and settings-based concurrent segment search controls and introduce AggregatorFactory method to determine concurrent search support * Add supportsConcurrentSegmentSearch override for all AggregatorFactory concrete classes * Addressing feedback --------- Signed-off-by: Jay Deng <jayd0104@gmail.com>
…ts concurrent search (opensearch-project#9469) * Parameterize parent-join search tests and add coverage for sparse slice case Signed-off-by: Jay Deng <jayd0104@gmail.com> * Separate request-based and settings-based concurrent segment search controls and introduce AggregatorFactory method to determine concurrent search support Signed-off-by: Jay Deng <jayd0104@gmail.com> * Add supportsConcurrentSegmentSearch override for all AggregatorFactory concrete classes Signed-off-by: Jay Deng <jayd0104@gmail.com> * Addressing feedback Signed-off-by: Jay Deng <jayd0104@gmail.com> --------- Signed-off-by: Jay Deng <jayd0104@gmail.com> Signed-off-by: Kiran Reddy <kkreddy@amazon.com>
…ts concurrent search (opensearch-project#9469) * Parameterize parent-join search tests and add coverage for sparse slice case Signed-off-by: Jay Deng <jayd0104@gmail.com> * Separate request-based and settings-based concurrent segment search controls and introduce AggregatorFactory method to determine concurrent search support Signed-off-by: Jay Deng <jayd0104@gmail.com> * Add supportsConcurrentSegmentSearch override for all AggregatorFactory concrete classes Signed-off-by: Jay Deng <jayd0104@gmail.com> * Addressing feedback Signed-off-by: Jay Deng <jayd0104@gmail.com> --------- Signed-off-by: Jay Deng <jayd0104@gmail.com> Signed-off-by: Kaushal Kumar <ravi.kaushal97@gmail.com>
…ts concurrent search (opensearch-project#9469) * Parameterize parent-join search tests and add coverage for sparse slice case Signed-off-by: Jay Deng <jayd0104@gmail.com> * Separate request-based and settings-based concurrent segment search controls and introduce AggregatorFactory method to determine concurrent search support Signed-off-by: Jay Deng <jayd0104@gmail.com> * Add supportsConcurrentSegmentSearch override for all AggregatorFactory concrete classes Signed-off-by: Jay Deng <jayd0104@gmail.com> * Addressing feedback Signed-off-by: Jay Deng <jayd0104@gmail.com> --------- Signed-off-by: Jay Deng <jayd0104@gmail.com> Signed-off-by: Ivan Brusic <ivan.brusic@flocksafety.com>
…ts concurrent search (opensearch-project#9469) * Parameterize parent-join search tests and add coverage for sparse slice case Signed-off-by: Jay Deng <jayd0104@gmail.com> * Separate request-based and settings-based concurrent segment search controls and introduce AggregatorFactory method to determine concurrent search support Signed-off-by: Jay Deng <jayd0104@gmail.com> * Add supportsConcurrentSegmentSearch override for all AggregatorFactory concrete classes Signed-off-by: Jay Deng <jayd0104@gmail.com> * Addressing feedback Signed-off-by: Jay Deng <jayd0104@gmail.com> --------- Signed-off-by: Jay Deng <jayd0104@gmail.com> Signed-off-by: Shivansh Arora <hishiv@amazon.com>
Also refactored parent-join search ITs to support concurrent search parameterization and introduced a new test to cover concurrent search failures.
Description
Some types of aggregations, especially those in custom search plugins, may be unable to utilize concurrent segment search due to their internal implementation. This setting provides a way to disable concurrent segment search when certain types of aggregations are used.
For the newly added tests, both of these tests will actually pass with concurrent search enabled due to problem 2 here #9316 (comment). However, once problem 2 is fixed these tests will catch the issue in problem 1.
Related Issues
Resolves #9446
Relates #9316
Check List
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.