This thing does reproduce (with the seed and multiplier/ nightly). When it hits the breakpoint, the temporary folder has over 6k files in it (not all of them are open file handles, I guess, but still!). I corrected an unclosed reader in the test but it still seems like too many open files (shouldn't the merge policy/ scheduler throttle the indexing threads?
D. On Wed, Nov 3, 2021 at 6:55 AM Apache Jenkins Server < [email protected]> wrote: > Build: > https://ci-builds.apache.org/job/Lucene/job/Lucene-NightlyTests-9.x/1/ > > 1 tests failed. > FAILED: > org.apache.lucene.index.TestIndexWriterMergePolicy.testStressUpdateSameDocumentWithMergeOnGetReader > > Error Message: > java.nio.file.FileSystemException: > /home/jenkins/jenkins-slave/workspace/Lucene/Lucene-NightlyTests-9.x/checkout/lucene/core/build/tmp/tests-tmp/lucene.index.TestIndexWriterMergePolicy_21D53F262220F3E9-001/index-MMapDirectory-001/_1f6_1_Asserting_0.dvd: > Too many open files > > Stack Trace: > java.nio.file.FileSystemException: > /home/jenkins/jenkins-slave/workspace/Lucene/Lucene-NightlyTests-9.x/checkout/lucene/core/build/tmp/tests-tmp/lucene.index.TestIndexWriterMergePolicy_21D53F262220F3E9-001/index-MMapDirectory-001/_1f6_1_Asserting_0.dvd: > Too many open files > at > org.apache.lucene.mockfile.HandleLimitFS.onOpen(HandleLimitFS.java:45) > at > org.apache.lucene.mockfile.HandleTrackingFS.callOpenHook(HandleTrackingFS.java:82) > at > org.apache.lucene.mockfile.HandleTrackingFS.newOutputStream(HandleTrackingFS.java:163) > at > org.apache.lucene.mockfile.FilterFileSystemProvider.newOutputStream(FilterFileSystemProvider.java:194) > at java.base/java.nio.file.Files.newOutputStream(Files.java:220) > at > org.apache.lucene.store.FSDirectory$FSIndexOutput.<init>(FSDirectory.java:392) > at > org.apache.lucene.store.FSDirectory$FSIndexOutput.<init>(FSDirectory.java:385) > at > org.apache.lucene.store.FSDirectory.createOutput(FSDirectory.java:220) > at > org.apache.lucene.store.MockDirectoryWrapper.createOutput(MockDirectoryWrapper.java:710) > at > org.apache.lucene.store.LockValidatingDirectoryWrapper.createOutput(LockValidatingDirectoryWrapper.java:43) > at > org.apache.lucene.store.TrackingDirectoryWrapper.createOutput(TrackingDirectoryWrapper.java:41) > at > org.apache.lucene.store.TrackingDirectoryWrapper.createOutput(TrackingDirectoryWrapper.java:41) > at > org.apache.lucene.codecs.lucene90.Lucene90DocValuesConsumer.<init>(Lucene90DocValuesConsumer.java:81) > at > org.apache.lucene.codecs.lucene90.Lucene90DocValuesFormat.fieldsConsumer(Lucene90DocValuesFormat.java:148) > at > org.apache.lucene.codecs.asserting.AssertingDocValuesFormat.fieldsConsumer(AssertingDocValuesFormat.java:50) > at > org.apache.lucene.codecs.perfield.PerFieldDocValuesFormat$FieldsWriter.getInstance(PerFieldDocValuesFormat.java:231) > at > org.apache.lucene.codecs.perfield.PerFieldDocValuesFormat$FieldsWriter.getInstance(PerFieldDocValuesFormat.java:162) > at > org.apache.lucene.codecs.perfield.PerFieldDocValuesFormat$FieldsWriter.addNumericField(PerFieldDocValuesFormat.java:104) > at > org.apache.lucene.index.ReadersAndUpdates.handleDVUpdates(ReadersAndUpdates.java:397) > at > org.apache.lucene.index.ReadersAndUpdates.writeFieldUpdates(ReadersAndUpdates.java:624) > at > org.apache.lucene.index.ReaderPool.writeAllDocValuesUpdates(ReaderPool.java:251) > at > org.apache.lucene.index.IndexWriter.writeReaderPool(IndexWriter.java:3735) > at > org.apache.lucene.index.IndexWriter.getReader(IndexWriter.java:590) > at > org.apache.lucene.index.RandomIndexWriter.getReader(RandomIndexWriter.java:474) > at > org.apache.lucene.index.RandomIndexWriter.getReader(RandomIndexWriter.java:406) > at > org.apache.lucene.index.TestIndexWriterMergePolicy.stressUpdateSameDocumentWithMergeOnX(TestIndexWriterMergePolicy.java:763) > at > org.apache.lucene.index.TestIndexWriterMergePolicy.testStressUpdateSameDocumentWithMergeOnGetReader(TestIndexWriterMergePolicy.java:707) > at > java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native > Method) > at > java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > at > java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.base/java.lang.reflect.Method.invoke(Method.java:566) > 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.util.TestRuleSetupTeardownChained$1.evaluate(TestRuleSetupTeardownChained.java:44) > at > org.apache.lucene.util.AbstractBeforeAfterRule$1.evaluate(AbstractBeforeAfterRule.java:43) > at > org.apache.lucene.util.TestRuleThreadAndTestName$1.evaluate(TestRuleThreadAndTestName.java:45) > at > org.apache.lucene.util.TestRuleIgnoreAfterMaxFailures$1.evaluate(TestRuleIgnoreAfterMaxFailures.java:60) > at > org.apache.lucene.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.util.AbstractBeforeAfterRule$1.evaluate(AbstractBeforeAfterRule.java:43) > at > com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36) > at > org.apache.lucene.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.util.TestRuleAssertionsRequired$1.evaluate(TestRuleAssertionsRequired.java:53) > at > org.apache.lucene.util.AbstractBeforeAfterRule$1.evaluate(AbstractBeforeAfterRule.java:43) > at > org.apache.lucene.util.TestRuleMarkFailure$1.evaluate(TestRuleMarkFailure.java:44) > at > org.apache.lucene.util.TestRuleIgnoreAfterMaxFailures$1.evaluate(TestRuleIgnoreAfterMaxFailures.java:60) > at > org.apache.lucene.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:834) > > > > > Build Log: > [...truncated 1185 lines...] > ERROR: The following test(s) have failed: > - > org.apache.lucene.index.TestIndexWriterMergePolicy.testStressUpdateSameDocumentWithMergeOnGetReader > (:lucene:core) > Test output: > /home/jenkins/jenkins-slave/workspace/Lucene/Lucene-NightlyTests-9.x/checkout/lucene/core/property > 'outputLocation'/outputs/OUTPUT-org.apache.lucene.index.TestIndexWriterMergePolicy.txt > Reproduce with: gradlew :lucene:core:test --tests > "org.apache.lucene.index.TestIndexWriterMergePolicy.testStressUpdateSameDocumentWithMergeOnGetReader" > -Ptests.jvms=4 -Ptests.haltonfailure=false > -Ptests.jvmargs=-XX:TieredStopAtLevel=1 -Ptests.seed=21D53F262220F3E9 > -Ptests.multiplier=2 -Ptests.nightly=true -Ptests.badapples=false > -Ptests.file.encoding=UTF-8 > -Ptests.linedocsfile=/home/jenkins/jenkins-slave/workspace/Lucene/Lucene-NightlyTests-9.x/test-data/enwiki.random.lines.txt > > > BUILD SUCCESSFUL in 4h 25m 23s > 195 actionable tasks: 195 executed > Build step 'Invoke Gradle script' changed build result to SUCCESS > Archiving artifacts > java.lang.InterruptedException: no matches found within 10000 > at hudson.FilePath$ValidateAntFileMask.hasMatch(FilePath.java:3069) > at hudson.FilePath$ValidateAntFileMask.invoke(FilePath.java:2948) > at hudson.FilePath$ValidateAntFileMask.invoke(FilePath.java:2929) > at hudson.FilePath$FileCallableWrapper.call(FilePath.java:3317) > Also: hudson.remoting.Channel$CallSiteStackTrace: Remote call to > lucene-solr-2 > at > hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1800) > at > hudson.remoting.UserRequest$ExceptionResponse.retrieve(UserRequest.java:356) > at hudson.remoting.Channel.call(Channel.java:1001) > at hudson.FilePath.act(FilePath.java:1159) > at hudson.FilePath.act(FilePath.java:1148) > at hudson.FilePath.validateAntFileMask(FilePath.java:2927) > at > hudson.tasks.ArtifactArchiver.perform(ArtifactArchiver.java:270) > at > hudson.tasks.BuildStepCompatibilityLayer.perform(BuildStepCompatibilityLayer.java:80) > at > hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20) > at > hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:803) > at > hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:752) > at hudson.model.Build$BuildExecution.post2(Build.java:177) > at > hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:697) > at hudson.model.Run.execute(Run.java:1931) > at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43) > at > hudson.model.ResourceController.execute(ResourceController.java:97) > at hudson.model.Executor.run(Executor.java:429) > Caused: hudson.FilePath$TunneledInterruptedException > at hudson.FilePath$FileCallableWrapper.call(FilePath.java:3319) > at hudson.remoting.UserRequest.perform(UserRequest.java:211) > at hudson.remoting.UserRequest.perform(UserRequest.java:54) > at hudson.remoting.Request$2.run(Request.java:376) > at > hudson.remoting.InterceptingExecutorService.lambda$wrap$0(InterceptingExecutorService.java:78) > at java.util.concurrent.FutureTask.run(FutureTask.java:266) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) > at java.lang.Thread.run(Thread.java:748) > Caused: java.lang.InterruptedException: java.lang.InterruptedException: no > matches found within 10000 > at hudson.FilePath.act(FilePath.java:1161) > at hudson.FilePath.act(FilePath.java:1148) > at hudson.FilePath.validateAntFileMask(FilePath.java:2927) > at hudson.tasks.ArtifactArchiver.perform(ArtifactArchiver.java:270) > at > hudson.tasks.BuildStepCompatibilityLayer.perform(BuildStepCompatibilityLayer.java:80) > at > hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20) > at > hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:803) > at > hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:752) > at hudson.model.Build$BuildExecution.post2(Build.java:177) > at > hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:697) > at hudson.model.Run.execute(Run.java:1931) > at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43) > at > hudson.model.ResourceController.execute(ResourceController.java:97) > at hudson.model.Executor.run(Executor.java:429) > No artifacts found that match the file pattern > "**/*.events,heapdumps/**,**/hs_err_pid*". Configuration error? > Recording test results > [Checks API] No suitable checks publisher found. > Build step 'Publish JUnit test result report' changed build result to > UNSTABLE > Email was triggered for: Unstable (Test Failures) > Sending email for trigger: Unstable (Test Failures) > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected]
