I executed the same test on my windows pc and macbook, seems on the windows there's high possibility of failing while on the mac it always pass. It also seems on windows it is quite slow, after discussion with Mike I think probably on windows the merging is slower so that more files are kept open, and thus reaches the limit.
I'll try increase the limit and see how it goes On Mon, Jul 25, 2022 at 10:35 AM Patrick Zhai <zhai7...@gmail.com> wrote: > Seems the error was thrown from HandleLimitFS.java, which enforce an > artificial limitation on the number of files opened it seems. But the weird > thing is why I only see such errors on Windows builds? I'll try to dig more > on this error. > > On Sun, Jul 24, 2022 at 8:41 PM Policeman Jenkins Server < > jenk...@thetaphi.de> wrote: > >> Build: https://jenkins.thetaphi.de/job/Lucene-MMAPv2-Windows/131/ >> Java: 64bit/jdk-17.0.3 -XX:-UseCompressedOops -XX:+UseG1GC >> >> 1 tests failed. >> FAILED: >> org.apache.lucene.index.TestIndexWriterMergePolicy.testStressUpdateSameDocumentWithMergeOnGetReader >> >> Error Message: >> java.nio.file.FileSystemException: >> C:\Users\jenkins\workspace\Lucene-MMAPv2-Windows\lucene\core\build\tmp\tests-tmp\lucene.index.TestIndexWriterMergePolicy_93D10D9F5BC86FBA-001\index-MMapDirectory-014\_149_1_Lucene90_0.dvm: >> Too many open files >> >> Stack Trace: >> java.nio.file.FileSystemException: >> C:\Users\jenkins\workspace\Lucene-MMAPv2-Windows\lucene\core\build\tmp\tests-tmp\lucene.index.TestIndexWriterMergePolicy_93D10D9F5BC86FBA-001\index-MMapDirectory-014\_149_1_Lucene90_0.dvm: >> Too many open files >> at >> org.apache.lucene.tests.mockfile.HandleLimitFS.onOpen(HandleLimitFS.java:67) >> at >> org.apache.lucene.tests.mockfile.HandleTrackingFS.callOpenHook(HandleTrackingFS.java:82) >> at >> org.apache.lucene.tests.mockfile.HandleTrackingFS.newOutputStream(HandleTrackingFS.java:163) >> at >> org.apache.lucene.tests.mockfile.FilterFileSystemProvider.newOutputStream(FilterFileSystemProvider.java:198) >> at java.base/java.nio.file.Files.newOutputStream(Files.java:228) >> 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.tests.store.MockDirectoryWrapper.createOutput(MockDirectoryWrapper.java:717) >> 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:91) >> at >> org.apache.lucene.codecs.lucene90.Lucene90DocValuesFormat.fieldsConsumer(Lucene90DocValuesFormat.java:148) >> 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:3734) >> at >> org.apache.lucene.index.IndexWriter.getReader(IndexWriter.java:591) >> at >> org.apache.lucene.index.IndexWriter$4.getReader(IndexWriter.java:6301) >> at >> org.apache.lucene.tests.index.RandomIndexWriter.getReader(RandomIndexWriter.java:488) >> at >> org.apache.lucene.tests.index.RandomIndexWriter.getReader(RandomIndexWriter.java:420) >> at >> org.apache.lucene.index.TestIndexWriterMergePolicy.stressUpdateSameDocumentWithMergeOnX(TestIndexWriterMergePolicy.java:793) >> at >> org.apache.lucene.index.TestIndexWriterMergePolicy.testStressUpdateSameDocumentWithMergeOnGetReader(TestIndexWriterMergePolicy.java:737) >> at >> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native >> Method) >> at >> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) >> at >> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) >> at java.base/java.lang.reflect.Method.invoke(Method.java:568) >> 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) >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: builds-unsubscr...@lucene.apache.org >> For additional commands, e-mail: builds-h...@lucene.apache.org > >