Hi folks, We've recently started seeing an increased number of failed builds, especially on the TestMergeSchedulerExternal.testSubclassConcurrentMergeScheduler test case. The email that I've replied to is the first instance of these failed attempts.
I suspect that the LUCENE-10078: Enable merge-on-refresh by default <https://github.com/apache/lucene/pull/921#> change could be the possible root cause (aligns with the date these builds started failing). The test case itself is failing sporadically (failed 3 out of 100 times on my Mac). My initial impression is that the timeout duration has something to do with it (because of the flaky nature). Opened LUCENE-10617 <https://issues.apache.org/jira/browse/LUCENE-10617> for the same. On Tue, Jun 7, 2022 at 4:17 PM Policeman Jenkins Server <jenk...@thetaphi.de> wrote: > Build: https://jenkins.thetaphi.de/job/Lucene-main-MacOSX/8148/ > Java: 64bit/jdk-18 -XX:+UseCompressedOops -XX:+UseG1GC > > 1 tests failed. > FAILED: > org.apache.lucene.TestMergeSchedulerExternal.testSubclassConcurrentMergeScheduler > > Error Message: > java.lang.IllegalStateException: this writer hit an unrecoverable error; > cannot merge > > Stack Trace: > java.lang.IllegalStateException: this writer hit an unrecoverable error; > cannot merge > at > __randomizedtesting.SeedInfo.seed([625F174A334B494D:E5DEAAE7376B3349]:0) > at > org.apache.lucene.index.IndexWriter.hasPendingMerges(IndexWriter.java:2397) > at > org.apache.lucene.index.IndexWriter$IndexWriterMergeSource.hasPendingMerges(IndexWriter.java:6253) > at > org.apache.lucene.index.ConcurrentMergeScheduler.maybeStall(ConcurrentMergeScheduler.java:588) > at > org.apache.lucene.index.ConcurrentMergeScheduler.merge(ConcurrentMergeScheduler.java:539) > at > org.apache.lucene.index.IndexWriter.executeMerge(IndexWriter.java:2295) > at > org.apache.lucene.index.IndexWriter.maybeMerge(IndexWriter.java:2290) > at > org.apache.lucene.index.IndexWriter.processEvents(IndexWriter.java:5711) > at > org.apache.lucene.index.IndexWriter.maybeProcessEvents(IndexWriter.java:5701) > at > org.apache.lucene.index.IndexWriter.updateDocuments(IndexWriter.java:1531) > at > org.apache.lucene.index.IndexWriter.updateDocument(IndexWriter.java:1816) > at > org.apache.lucene.index.IndexWriter.addDocument(IndexWriter.java:1469) > at > org.apache.lucene.TestMergeSchedulerExternal.testSubclassConcurrentMergeScheduler(TestMergeSchedulerExternal.java:133) > at > java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) > at java.base/java.lang.reflect.Method.invoke(Method.java:577) > at > com.carrotsearch.randomizedtesting.RandomizedRunner.invoke(RandomizedRunner.java:1754) > at > com.carrotsearch.randomizedtesting.RandomizedRunner$8.evaluate(RandomizedRunner.java:942) > at > com.carrotsearch.randomizedtesting.RandomizedRunner$9.evaluate(RandomizedRunner.java:978) > at > com.carrotsearch.randomizedtesting.RandomizedRunner$10.evaluate(RandomizedRunner.java:992) > at > org.apache.lucene.tests.util.TestRuleSetupTeardownChained$1.evaluate(TestRuleSetupTeardownChained.java:44) > 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:370) > at > com.carrotsearch.randomizedtesting.ThreadLeakControl.forkTimeoutingTask(ThreadLeakControl.java:819) > at > com.carrotsearch.randomizedtesting.ThreadLeakControl$3.evaluate(ThreadLeakControl.java:470) > at > com.carrotsearch.randomizedtesting.RandomizedRunner.runSingleTest(RandomizedRunner.java:951) > at > com.carrotsearch.randomizedtesting.RandomizedRunner$5.evaluate(RandomizedRunner.java:836) > at > com.carrotsearch.randomizedtesting.RandomizedRunner$6.evaluate(RandomizedRunner.java:887) > at > com.carrotsearch.randomizedtesting.RandomizedRunner$7.evaluate(RandomizedRunner.java:898) > 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) > at > com.carrotsearch.randomizedtesting.rules.NoShadowingOrOverridesOnMethodsRule$1.evaluate(NoShadowingOrOverridesOnMethodsRule.java:40) > at > com.carrotsearch.randomizedtesting.rules.NoShadowingOrOverridesOnMethodsRule$1.evaluate(NoShadowingOrOverridesOnMethodsRule.java:40) > at > com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36) > at > com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36) > at > org.apache.lucene.tests.util.TestRuleAssertionsRequired$1.evaluate(TestRuleAssertionsRequired.java:53) > at > org.apache.lucene.tests.util.AbstractBeforeAfterRule$1.evaluate(AbstractBeforeAfterRule.java:43) > at > org.apache.lucene.tests.util.TestRuleMarkFailure$1.evaluate(TestRuleMarkFailure.java:44) > at > org.apache.lucene.tests.util.TestRuleIgnoreAfterMaxFailures$1.evaluate(TestRuleIgnoreAfterMaxFailures.java:60) > at > org.apache.lucene.tests.util.TestRuleIgnoreTestSuites$1.evaluate(TestRuleIgnoreTestSuites.java:47) > 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:370) > at > com.carrotsearch.randomizedtesting.ThreadLeakControl.lambda$forkTimeoutingTask$0(ThreadLeakControl.java:826) > at java.base/java.lang.Thread.run(Thread.java:833) > Caused by: java.io.IOException: now failing during merge > at > org.apache.lucene.TestMergeSchedulerExternal$FailOnlyOnMerge.eval(TestMergeSchedulerExternal.java:93) > at > org.apache.lucene.tests.store.MockDirectoryWrapper.maybeThrowDeterministicException(MockDirectoryWrapper.java:1068) > at > org.apache.lucene.tests.store.MockDirectoryWrapper.openInput(MockDirectoryWrapper.java:794) > at > org.apache.lucene.store.Directory.openChecksumInput(Directory.java:152) > at > org.apache.lucene.tests.store.MockDirectoryWrapper.openChecksumInput(MockDirectoryWrapper.java:1120) > at > org.apache.lucene.codecs.lucene90.Lucene90FieldInfosFormat.read(Lucene90FieldInfosFormat.java:124) > at > org.apache.lucene.index.SegmentCoreReaders.<init>(SegmentCoreReaders.java:111) > at > org.apache.lucene.index.SegmentReader.<init>(SegmentReader.java:91) > at > org.apache.lucene.index.ReadersAndUpdates.getReader(ReadersAndUpdates.java:179) > at > org.apache.lucene.index.ReadersAndUpdates.getReaderForMerge(ReadersAndUpdates.java:786) > at > org.apache.lucene.index.IndexWriter.lambda$mergeMiddle$19(IndexWriter.java:4909) > at > org.apache.lucene.index.MergePolicy$OneMerge.initMergeReaders(MergePolicy.java:420) > at > org.apache.lucene.index.IndexWriter.mergeMiddle(IndexWriter.java:4905) > at org.apache.lucene.index.IndexWriter.merge(IndexWriter.java:4507) > at > org.apache.lucene.index.IndexWriter$IndexWriterMergeSource.merge(IndexWriter.java:6259) > at > org.apache.lucene.index.ConcurrentMergeScheduler.doMerge(ConcurrentMergeScheduler.java:638) > at > org.apache.lucene.TestMergeSchedulerExternal$MyMergeScheduler.doMerge(TestMergeSchedulerExternal.java:85) > at > org.apache.lucene.index.ConcurrentMergeScheduler$MergeThread.run(ConcurrentMergeScheduler.java:699) > > --------------------------------------------------------------------- > To unsubscribe, e-mail: builds-unsubscr...@lucene.apache.org > For additional commands, e-mail: builds-h...@lucene.apache.org