-
Notifications
You must be signed in to change notification settings - Fork 2k
[AUTOCUT] Gradle Check Flaky Test Report for SimpleSearchIT #16851
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
Comments
Looking into build logs:
From initial look, it looks more like OpenSearch process failure or corrupted index failure. |
SimpleSearchIT.testSimpleTerminateAfterTrackTotalHitsUpToSize is flaky |
I was able to re-produce this with a seed
|
This is another case that looks like it was introduced by #17769. FYI @harshavamsi |
Coming from the Dashboard seen a new failure in #18069 (reference), not sure if the impacted PR has rebased the fix. |
Seen a failure in post merge action, coming from 069c2d8. Build failure log https://build.ci.opensearch.org/job/gradle-check/57263/. |
#18075 -- the fix has not been backported to 3.0 yet, that's why we are still seeing flakiness |
I just saw what looks like a new kind of failure here:
@prudhvigodithi Any chance this is related to your recent change? |
I see what is happening with a range query (when approximation was not introduced) its always
This is not a bug but the behavior of approximation as it only counts and returns the documents as required, we see this issue after this PR #18189 because the hack of adding |
From my previous comment #16851 (comment)
The Let me see if I can update the tests based on this behavior or just add |
@prudhvigodithi Let's update the test instead of updating the approximation. Approximation is default now and any test using MatchAll or RangeQuery will need to be updated to reflect that. |
Yes I'm more inclined to update the test, but going over the PR #18018 and comments to see why just |
Note the assertion is the expected behavior, the relation should always be The reason why +1 works is because the ensures the scorer is larger than size by 1, so the TotalHitCountCollector can flip the relation from equal to GREATER_THAN_OR_EQUAL_TO. @prudhvigodithi your last change make sure the hits.total is short cut for match all query. But not range query, which called out #18189 (comment) But I know I feel +1 is a better approach in general, also doesn't add any cost anyway. |
On the other hand, I thought range query theoretically should hit this https://github.com/apache/lucene/blob/fafd6af004e0c39582043b797555d6eeb9aa7638/lucene/core/src/java/org/apache/lucene/search/TotalHitCountCollector.java#L47-L52 |
We should refactor this test by separating test size < track_total_size and >, then it won't be a flaky one, but consistent failing. |
From my previous comments #16851 (comment) #16851 (comment) I was able to get the failure with So the test is not flaky here but the visit methods part of ApproximatePointRangeQuery does not exactly cap the size defined on the query (or when the default is 10k), there are sometimes a little extra docs collected part of the BKD walk hence the above test with size set to 4 and trackTotalHitsUpTo is 5, I can see Having this I would go for adding Thanks |
Thanks @bowenlan-amzn yes today even before approximation the range queries does not go short cut, only the match_all queries does, hence in my PR #18189 I have fixed the match_all behavior to be the same with or without approximation. So it should not only add some more performance improvement (early termination + the early competitive iterator benefit) but also will get back the same behavior. Next I will take a look at short cut of approximate range query. |
Flaky Test Report for
SimpleSearchIT
Noticed the
SimpleSearchIT
has some flaky, failing tests that failed during post-merge actions.Details
org.opensearch.search.simple.SimpleSearchIT.testSimpleTerminateAfterTrackTotalHitsUpToSize {p0={"search.concurrent_segment_search.enabled":"false"}}
org.opensearch.search.simple.SimpleSearchIT.testSimpleTerminateAfterTrackTotalHitsUpToSize {p0={"search.concurrent_segment_search.enabled":"true"}}
org.opensearch.search.simple.SimpleSearchIT.testSimpleTerminateAfterTrackTotalHitsUpToSize {p0={"search.concurrent_segment_search.enabled":"false"}}
org.opensearch.search.simple.SimpleSearchIT.testSimpleTerminateAfterTrackTotalHitsUpToSize {p0={"search.concurrent_segment_search.enabled":"true"}}
org.opensearch.search.simple.SimpleSearchIT.testSimpleTerminateAfterTrackTotalHitsUpToSize {p0={"search.concurrent_segment_search.enabled":"false"}}
org.opensearch.search.simple.SimpleSearchIT.testSimpleTerminateAfterTrackTotalHitsUpToSize {p0={"search.concurrent_segment_search.enabled":"true"}}
org.opensearch.search.simple.SimpleSearchIT.testSimpleTerminateAfterTrackTotalHitsUpToSize {p0={"search.concurrent_segment_search.enabled":"false"}}
org.opensearch.search.simple.SimpleSearchIT.testSimpleTerminateAfterTrackTotalHitsUpToSize {p0={"search.concurrent_segment_search.enabled":"true"}}
org.opensearch.search.simple.SimpleSearchIT.testSimpleTerminateAfterTrackTotalHitsUpToSize {p0={"search.concurrent_segment_search.enabled":"false"}}
org.opensearch.search.simple.SimpleSearchIT.testSimpleTerminateAfterTrackTotalHitsUpToSize {p0={"search.concurrent_segment_search.enabled":"true"}}
org.opensearch.search.simple.SimpleSearchIT.testSimpleTerminateAfterTrackTotalHitsUpToSize {p0={"search.concurrent_segment_search.enabled":"false"}}
org.opensearch.search.simple.SimpleSearchIT.testSimpleTerminateAfterTrackTotalHitsUpToSize {p0={"search.concurrent_segment_search.enabled":"true"}}
org.opensearch.search.simple.SimpleSearchIT.testSimpleTerminateAfterTrackTotalHitsUpToSize {p0={"search.concurrent_segment_search.enabled":"false"}}
org.opensearch.search.simple.SimpleSearchIT.testSimpleTerminateAfterTrackTotalHitsUpToSize {p0={"search.concurrent_segment_search.enabled":"true"}}
org.opensearch.search.simple.SimpleSearchIT.testSimpleTerminateAfterTrackTotalHitsUpToSize {p0={"search.concurrent_segment_search.enabled":"false"}}
org.opensearch.search.simple.SimpleSearchIT.testSimpleTerminateAfterTrackTotalHitsUpToSize {p0={"search.concurrent_segment_search.enabled":"true"}}
org.opensearch.search.simple.SimpleSearchIT.testSimpleTerminateAfterTrackTotalHitsUpToSize {p0={"search.concurrent_segment_search.enabled":"false"}}
org.opensearch.search.simple.SimpleSearchIT.testSimpleTerminateAfterTrackTotalHitsUpToSize {p0={"search.concurrent_segment_search.enabled":"true"}}
org.opensearch.search.simple.SimpleSearchIT.testSimpleTerminateAfterTrackTotalHitsUpToSize {p0={"search.concurrent_segment_search.enabled":"false"}}
org.opensearch.search.simple.SimpleSearchIT.testSimpleTerminateAfterTrackTotalHitsUpToSize {p0={"search.concurrent_segment_search.enabled":"true"}}
org.opensearch.search.simple.SimpleSearchIT.testSimpleTerminateAfterTrackTotalHitsUpToSize {p0={"search.concurrent_segment_search.enabled":"false"}}
org.opensearch.search.simple.SimpleSearchIT.testSimpleTerminateAfterTrackTotalHitsUpToSize {p0={"search.concurrent_segment_search.enabled":"true"}}
org.opensearch.search.simple.SimpleSearchIT.testSimpleTerminateAfterTrackTotalHitsUpToSize {p0={"search.concurrent_segment_search.enabled":"false"}}
org.opensearch.search.simple.SimpleSearchIT.testSimpleTerminateAfterTrackTotalHitsUpToSize {p0={"search.concurrent_segment_search.enabled":"true"}}
org.opensearch.search.simple.SimpleSearchIT.testSimpleTerminateAfterTrackTotalHitsUpToSize {p0={"search.concurrent_segment_search.enabled":"false"}}
org.opensearch.search.simple.SimpleSearchIT.testSimpleTerminateAfterTrackTotalHitsUpToSize {p0={"search.concurrent_segment_search.enabled":"true"}}
org.opensearch.search.simple.SimpleSearchIT.testSimpleTerminateAfterTrackTotalHitsUpToSize {p0={"search.concurrent_segment_search.enabled":"true"}}
org.opensearch.search.simple.SimpleSearchIT.testSimpleTerminateAfterTrackTotalHitsUpToSize {p0={"search.concurrent_segment_search.enabled":"true"}}
org.opensearch.search.simple.SimpleSearchIT.testSimpleTerminateAfterTrackTotalHitsUpToSize {p0={"search.concurrent_segment_search.enabled":"true"}}
org.opensearch.search.simple.SimpleSearchIT.testSimpleTerminateAfterTrackTotalHitsUpToSize {p0={"search.concurrent_segment_search.enabled":"false"}}
org.opensearch.search.simple.SimpleSearchIT.classMethod
org.opensearch.search.simple.SimpleSearchIT.testSimpleTerminateAfterTrackTotalHitsUpToSize {p0={"search.concurrent_segment_search.enabled":"false"}}
The other pull requests, besides those involved in post-merge actions, that contain failing tests with the
SimpleSearchIT
class are:For more details on the failed tests refer to OpenSearch Gradle Check Metrics dashboard.
The text was updated successfully, but these errors were encountered: