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

[BUG] QueryPhaseTests.testQueryTimeoutChecker is flaky #9464

Open
mch2 opened this issue Aug 21, 2023 · 5 comments
Open

[BUG] QueryPhaseTests.testQueryTimeoutChecker is flaky #9464

mch2 opened this issue Aug 21, 2023 · 5 comments
Assignees
Labels
bug Something isn't working flaky-test Random test failure that succeeds on second run Search:Performance :test Adding or fixing a test

Comments

@mch2
Copy link
Member

mch2 commented Aug 21, 2023

java.lang.AssertionError: expected:<722354> but was:<722565>
ava.lang.AssertionError: expected:<722354> but was:<722565>
	at __randomizedtesting.SeedInfo.seed([13B8EC24EAB06BB4:ACCE7576F37372D2]:0)
	at org.junit.Assert.fail(Assert.java:89)
	at org.junit.Assert.failNotEquals(Assert.java:835)
	at org.junit.Assert.assertEquals(Assert.java:647)
	at org.junit.Assert.assertEquals(Assert.java:633)
	at org.opensearch.search.query.QueryPhaseTests.createTimeoutCheckerThenWaitThenRun(QueryPhaseTests.java:1173)
	at org.opensearch.search.query.QueryPhaseTests.testQueryTimeoutChecker(QueryPhaseTests.java:1144)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
	at java.base/java.lang.reflect.Method.invoke(Method.java:578)
	at com.carrotsearch.randomizedtesting.RandomizedRunner.invoke(RandomizedRunner.java:1750)
	at com.carrotsearch.randomizedtesting.RandomizedRunner$8.evaluate(RandomizedRunner.java:938)
	at com.carrotsearch.randomizedtesting.RandomizedRunner$9.evaluate(RandomizedRunner.java:974)
	at com.carrotsearch.randomizedtesting.RandomizedRunner$10.evaluate(RandomizedRunner.java:988)
	at com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36)
	at org.junit.rules.RunRules.evaluate(RunRules.java:20)
	at org.apache.lucene.tests.util.TestRuleSetupTeardownChained$1.evaluate(TestRuleSetupTeardownChained.java:48)
	at org.apache.lucene.tests.util.AbstractBeforeAfterRule$1.evaluate(AbstractBeforeAfterRule.java:43)
	at org.apache.lucene.tests.util.TestRuleThreadAndTestName$1.evaluate(TestRuleThreadAndTestName.java:45)
	at org.apache.lucene.tests.util.TestRuleIgnoreAfterMaxFailures$1.evaluate(TestRuleIgnoreAfterMaxFailures.java:60)
	at org.apache.lucene.tests.util.TestRuleMarkFailure$1.evaluate(TestRuleMarkFailure.java:44)
	at org.junit.rules.RunRules.evaluate(RunRules.java:20)
	at com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36)
	at com.carrotsearch.randomizedtesting.ThreadLeakControl$StatementRunner.run(ThreadLeakControl.java:368)
	at com.carrotsearch.randomizedtesting.ThreadLeakControl.forkTimeoutingTask(ThreadLeakControl.java:817)
	at com.carrotsearch.randomizedtesting.ThreadLeakControl$3.evaluate(ThreadLeakControl.java:468)
	at com.carrotsearch.randomizedtesting.RandomizedRunner.runSingleTest(RandomizedRunner.java:947)
	at com.carrotsearch.randomizedtesting.RandomizedRunner$5.evaluate(RandomizedRunner.java:832)
	at com.carrotsearch.randomizedtesting.RandomizedRunner$6.evaluate(RandomizedRunner.java:883)
	at com.carrotsearch.randomizedtesting.RandomizedRunner$7.evaluate(RandomizedRunner.java:894)
	at org.apache.lucene.tests.util.AbstractBeforeAfterRule$1.evaluate(AbstractBeforeAfterRule.java:43)
	at com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36)
	at org.apache.lucene.tests.util.TestRuleStoreClassName$1.evaluate(TestRuleStoreClassName.java:38)
 ./gradlew ':server:test' --tests "org.opensearch.search.query.QueryPhaseTests" -Dtests.method="testQueryTimeoutChecker {p0=5 p1=org.opensearch.search.query.ConcurrentQueryPhaseSearcher@7a62d697}" -Dtests.seed=13B8EC24EAB06BB4

https://build.ci.opensearch.org/job/gradle-check/22250/
https://build.ci.opensearch.org/job/gradle-check/23226/

CC @sohami @jed326 we have new flaky tests :(

@mch2 mch2 added bug Something isn't working untriaged :test Adding or fixing a test flaky-test Random test failure that succeeds on second run labels Aug 21, 2023
@jed326
Copy link
Collaborator

jed326 commented Aug 23, 2023

Another occurrence #9469 (comment)

@jed326
Copy link
Collaborator

jed326 commented Aug 23, 2023

Moving into concurrent search project for now, will take this up in a few days.

@jed326
Copy link
Collaborator

jed326 commented Sep 13, 2023

dengjay@88665a3f24d4 OpenSearch %  ./gradlew ':server:test' --tests "org.opensearch.search.query.QueryPhaseTests" -Dtests.seed=13B8EC24EAB06BB4                                         

> Configure project :
========================= WARNING =========================
         Backwards compatibility tests are disabled!
See https://github.com/opensearch-project/OpenSearch/issues/4173
===========================================================
=======================================
OpenSearch Build Hamster says Hello!
  Gradle Version        : 8.3
  OS Info               : Mac OS X 13.5.1 (x86_64)
  JDK Version           : 17 (Amazon Corretto JDK)
  JAVA_HOME             : /Library/Java/JavaVirtualMachines/amazon-corretto-17.jdk/Contents/Home
  Random Testing Seed   : 13B8EC24EAB06BB4
  In FIPS 140 mode      : false
=======================================

BUILD SUCCESSFUL in 7s
52 actionable tasks: 1 from cache, 51 up-to-date

Having trouble recreating this failure locally, probably means the flakiness is not related to the random test seed so will need to take a closer look at the test code.

In fact from what I can tell it doesn't look like the query phase is used at all in this test so it may be related to parameterization instead of concurrent search.

@jed326
Copy link
Collaborator

jed326 commented Oct 4, 2023

It looks like the parts of QueryPhase that are tested here are common to both concurrent and non-concurrent path. Moreover, it looks like this flakiness hasn't been reported in a few weeks, so going to deprioritize this one for now.

@jed326
Copy link
Collaborator

jed326 commented Nov 30, 2023

This test is not flaky just for concurrent search:

The method being tested here is QueryPhase::createQueryTimeoutChecker which does not have any implementation differences between concurrent vs non-concurrent search paths

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working flaky-test Random test failure that succeeds on second run Search:Performance :test Adding or fixing a test
Projects
None yet
Development

No branches or pull requests

4 participants