Skip to content
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

Fix flaky query profile phase tests with concurrent search enabled #10547

Merged

Conversation

ticheng-aws
Copy link
Contributor

@ticheng-aws ticheng-aws commented Oct 10, 2023

Description

These flaky tests use RandomIndexWriter to add random number of documents to the search index. As long as the score_count in the concurrent search case matches the non-concurrent search case, we can tune the expected value for min_score/min_score_count to make it less sensitive. I ran the new changes 100+ times to make sure that they all passed.

https://github.com/opensearch-project/OpenSearch/pull/10437/files#diff-76990998add8052236baed94bbd99228acb695e70fd797ec2679130de6f45c55

Related Issues

Resolves #10469, resolves #9932, resolves #10139

Check List

  • New functionality includes testing.
    • All tests pass
  • New functionality has been documented.
    • New functionality has javadoc added
  • Commits are signed per the DCO using --signoff
  • Commit changes are listed out in CHANGELOG.md file (See: Changelog)
  • Public documentation issue/PR created

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.

@github-actions github-actions bot added bug Something isn't working flaky-test Random test failure that succeeds on second run labels Oct 10, 2023
ticheng-aws added a commit to ticheng-aws/OpenSearch that referenced this pull request Oct 10, 2023
ticheng-aws added a commit to ticheng-aws/OpenSearch that referenced this pull request Oct 10, 2023
@github-actions
Copy link
Contributor

Gradle Check (Jenkins) Run Completed with:

@dblock dblock merged commit c4f5dd9 into opensearch-project:main Oct 11, 2023
22 checks passed
@dblock dblock added the backport 2.x Backport to 2.x branch label Oct 11, 2023
@opensearch-trigger-bot
Copy link
Contributor

The backport to 2.x failed:

The process '/usr/bin/git' failed with exit code 128

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-10547-to-2.x
# Cherry-pick the merged commit of this pull request and resolve the conflicts
git cherry-pick -x --mainline 1 c4f5dd9f4d45530ad22f165f5ec88736534e5827
# Push it to GitHub
git push --set-upstream origin backport/backport-10547-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 base branch is 2.x and the compare/head branch is backport/backport-10547-to-2.x.

deshsidd pushed a commit to deshsidd/OpenSearch that referenced this pull request Oct 19, 2023
…pensearch-project#10547) (opensearch-project#10547)

Signed-off-by: Ticheng Lin <ticheng@amazon.com>
Signed-off-by: Siddhant Deshmukh <deshsid@amazon.com>
austintlee pushed a commit to austintlee/OpenSearch that referenced this pull request Oct 23, 2023
austintlee pushed a commit to austintlee/OpenSearch that referenced this pull request Oct 23, 2023
sohami pushed a commit to sohami/OpenSearch that referenced this pull request Oct 24, 2023
sohami pushed a commit to sohami/OpenSearch that referenced this pull request Oct 30, 2023
sohami pushed a commit to sohami/OpenSearch that referenced this pull request Oct 31, 2023
reta pushed a commit that referenced this pull request Oct 31, 2023
…#10898)

* Add support for query profiler with concurrent aggregation (#9248)

* Add support for query profiler with concurrent aggregation (#9248)

Signed-off-by: Ticheng Lin <ticheng@amazon.com>

* Refactor and work on the PR comments

Signed-off-by: Ticheng Lin <ticheng@amazon.com>

* Update collectorToLeaves mapping for children breakdowns post profile metric collection and before creating the results

Signed-off-by: Sorabh Hamirwasia <sohami.apache@gmail.com>

* Refactor logic to compute the slice level breakdown stats and query level breakdown stats for concurrent search case

Signed-off-by: Sorabh Hamirwasia <sohami.apache@gmail.com>

* Fix QueryProfilePhaseTests and QueryProfileTests, and parameterize QueryProfilerIT with concurrent search enabled

Signed-off-by: Ticheng Lin <ticheng@amazon.com>

* Handle the case when there are no leaf context to compute the profile stats to return default stats
for all breakdown type along with min/max/avg values. Replace queryStart and queryEnd time with queryNodeTime

Signed-off-by: Sorabh Hamirwasia <sohami.apache@gmail.com>

* Add UTs for ConcurrentQueryProfileBreakdown

Signed-off-by: Sorabh Hamirwasia <sohami.apache@gmail.com>

* Add concurrent search stats test into the QueryProfilerIT

Signed-off-by: Ticheng Lin <ticheng@amazon.com>

* Address review comments

Signed-off-by: Sorabh Hamirwasia <sohami.apache@gmail.com>

---------

Signed-off-by: Ticheng Lin <ticheng@amazon.com>
Signed-off-by: Sorabh Hamirwasia <sohami.apache@gmail.com>
Co-authored-by: Sorabh Hamirwasia <sohami.apache@gmail.com>

* Fix NPE in ConcurrentQueryProfile while computing the breakdown map for slices (#10111)

* Fix NPE in ConcurrentQueryProfile while computing the breakdown map for slices.

There can be cases where one or more slice may not have timing related information for its leaves in
contexts map. During creation of slice and query level breakdown map it needs to handle such cases by using
default values correctly. Also updating the min/max/avg sliceNodeTime to not include time to create
weight and wait times by slice threads. It will reflect the min/max/avg execution time of each slice
whereas totalNodeTime will reflect the total query time.

Signed-off-by: Sorabh Hamirwasia <sohami.apache@gmail.com>

* Address review comments

Signed-off-by: Sorabh Hamirwasia <sohami.apache@gmail.com>

---------

Signed-off-by: Sorabh Hamirwasia <sohami.apache@gmail.com>

* Fix flaky query profile phase tests with concurrent search enabled (#10547) (#10547)

Signed-off-by: Ticheng Lin <ticheng@amazon.com>

* Introduce ConcurrentQueryProfiler to profile query using concurrent segment search path and support concurrency during rewrite and create weight (#10352)

* Fix timer race condition in profile rewrite and create weight for concurrent segment search (#10352)

Signed-off-by: Ticheng Lin <ticheng@amazon.com>

* Refactor and work on the PR comments (#10352)

Signed-off-by: Ticheng Lin <ticheng@amazon.com>

---------

Signed-off-by: Ticheng Lin <ticheng@amazon.com>

---------

Signed-off-by: Ticheng Lin <ticheng@amazon.com>
Signed-off-by: Sorabh Hamirwasia <sohami.apache@gmail.com>
Co-authored-by: Ticheng Lin <51488860+ticheng-aws@users.noreply.github.com>
@ticheng-aws ticheng-aws self-assigned this Nov 2, 2023
austintlee pushed a commit to austintlee/OpenSearch that referenced this pull request Dec 13, 2023
austintlee pushed a commit to austintlee/OpenSearch that referenced this pull request Jan 19, 2024
austintlee pushed a commit to austintlee/OpenSearch that referenced this pull request Jan 19, 2024
austintlee pushed a commit to austintlee/OpenSearch that referenced this pull request Feb 6, 2024
austintlee pushed a commit to austintlee/OpenSearch that referenced this pull request Feb 6, 2024
shiv0408 pushed a commit to Gaurav614/OpenSearch that referenced this pull request Apr 25, 2024
…pensearch-project#10547) (opensearch-project#10547)

Signed-off-by: Ticheng Lin <ticheng@amazon.com>
Signed-off-by: Shivansh Arora <hishiv@amazon.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backport 2.x Backport to 2.x branch backport-failed bug Something isn't working flaky-test Random test failure that succeeds on second run skip-changelog
Projects
None yet
3 participants