[ https://issues.apache.org/jira/browse/LUCENE-8962?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17145716#comment-17145716 ]
Michael McCandless commented on LUCENE-8962: -------------------------------------------- Beasting the branch (all Lucene core + module tests), 216 iterations, and hit one test failure: {noformat} > TEST thread 1: got interrupt > org.apache.lucene.util.ThreadInterruptedException: java.lang.InterruptedException: sleep interrupted > at org.apache.lucene.store.SlowOpeningMockIndexInputWrapper.<init>(SlowOpeningMockIndexInputWrapper.java:38) > at org.apache.lucene.store.MockDirectoryWrapper.openInput(MockDirectoryWrapper.java:769) > at org.apache.lucene.store.Directory.openChecksumInput(Directory.java:157) > at org.apache.lucene.store.MockDirectoryWrapper.openChecksumInput(MockDirectoryWrapper.java:1044) > at org.apache.lucene.codecs.compressing.FieldsIndexReader.<init>(FieldsIndexReader.java:53) > at org.apache.lucene.codecs.compressing.CompressingStoredFieldsReader.<init>(CompressingStoredFieldsReader.java:166) > at org.apache.lucene.codecs.compressing.CompressingStoredFieldsFormat.fieldsReader(CompressingStoredFieldsFormat.java:123) > at org.apache.lucene.codecs.lucene50.Lucene50StoredFieldsFormat.fieldsReader(Lucene50StoredFieldsFormat.java:135) > at org.apache.lucene.codecs.asserting.AssertingStoredFieldsFormat.fieldsReader(AssertingStoredFieldsFormat.java:43) > at org.apache.lucene.index.SegmentCoreReaders.<init>(SegmentCoreReaders.java:127) > at org.apache.lucene.index.SegmentReader.<init>(SegmentReader.java:83) > at org.apache.lucene.index.ReadersAndUpdates.getReader(ReadersAndUpdates.java:171) > at org.apache.lucene.index.ReadersAndUpdates.getReaderForMerge(ReadersAndUpdates.java:714) > at org.apache.lucene.index.IndexWriter.lambda$prepareOnCommitMerge$6(IndexWriter.java:3382) > at org.apache.lucene.index.MergePolicy$OneMerge.initMergeReaders(MergePolicy.java:438) > at org.apache.lucene.index.IndexWriter$2.initMergeReaders(IndexWriter.java:3361) > at org.apache.lucene.index.IndexWriter.prepareOnCommitMerge(IndexWriter.java:3376) > at org.apache.lucene.index.IndexWriter.prepareCommitInternal(IndexWriter.java:3247) > at org.apache.lucene.index.IndexWriter.commitInternal(IndexWriter.java:3547) > at org.apache.lucene.index.IndexWriter.commit(IndexWriter.java:3505) > at org.apache.lucene.index.TestIndexWriter$IndexerThreadInterrupt.run(TestIndexWriter.java:1004) > Caused by: java.lang.InterruptedException: sleep interrupted > at java.base/java.lang.Thread.sleep(Native Method) > at org.apache.lucene.store.SlowOpeningMockIndexInputWrapper.<init>(SlowOpeningMockIndexInputWrapper.java:33) > ... 20 more > thread 1 FAILED; unexpected exception > java.lang.IllegalStateException: this writer hit an unrecoverable error; cannot commit > at org.apache.lucene.index.IndexWriter.prepareCommitInternal(IndexWriter.java:3170) > at org.apache.lucene.index.IndexWriter.commitInternal(IndexWriter.java:3547) > at org.apache.lucene.index.IndexWriter.shutdown(IndexWriter.java:1099) > at org.apache.lucene.index.IndexWriter.close(IndexWriter.java:1140) > at org.apache.lucene.index.TestIndexWriter$IndexerThreadInterrupt.run(TestIndexWriter.java:942) > Caused by: java.lang.AssertionError: can't be done and not suppressing exceptions > at org.apache.lucene.index.IndexWriter.closeMergeReaders(IndexWriter.java:4426) > at org.apache.lucene.index.IndexWriter.commitMerge(IndexWriter.java:4075) > at org.apache.lucene.index.IndexWriter.mergeMiddle(IndexWriter.java:4581) > at org.apache.lucene.index.IndexWriter.merge(IndexWriter.java:4140) > at org.apache.lucene.index.IndexWriter$IndexWriterMergeSource.merge(IndexWriter.java:5692) > at org.apache.lucene.index.ConcurrentMergeScheduler.doMerge(ConcurrentMergeScheduler.java:624) > at org.apache.lucene.index.ConcurrentMergeScheduler$MergeThread.run(ConcurrentMergeScheduler.java:682) > index files: [_42.fdm, _42.fdt, _42.fdx, _42.fnm, _42.nvd, _42.nvm, _42.si, _42_Lucene80_0.dvd, _42_Lucene80_0.dvm, _42_Lucene84_0.doc, _42_Lucene84_0.pos, _42_Lucene84_0.tim, _42\ _Lucene84_0.tip, _42_Lucene84_0.tmd, _42_TestBloomFilteredLucenePostings_0.blm, _42_TestBloomFilteredLucenePostings_0.doc, _42_TestBloomFilteredLucenePostings_0.pos, _42_TestBloomFilteredL\ ucenePostings_0.tim, _42_TestBloomFilteredLucenePostings_0.tip, _42_TestBloomFilteredLucenePostings_0.tmd, _47.fdm, _47.fdt, _47.fdx, _47.fnm, _47.nvd, _47.nvm, _47.si, _47_Lucene80_0.dvd,\ _47_Lucene80_0.dvm, _47_Lucene84_0.doc, _47_Lucene84_0.pos, _47_Lucene84_0.tim, _47_Lucene84_0.tip, _47_Lucene84_0.tmd, _47_TestBloomFilteredLucenePostings_0.blm, _47_TestBloomFilteredLuc\ enePostings_0.doc, _47_TestBloomFilteredLucenePostings_0.pos, _47_TestBloomFilteredLucenePostings_0.tim, _47_TestBloomFilteredLucenePostings_0.tip, _47_TestBloomFilteredLucenePostings_0.tm\ d, _48.fdm, _48.fdt, _48.fdx, _48.fnm, _48.nvd, _48.nvm, _48.si, _48_Lucene80_0.dvd, _48_Lucene80_0.dvm, _48_Lucene84_0.doc, _48_Lucene84_0.pos, _48_Lucene84_0.tim, _48_Lucene84_0.tip, _48\ _Lucene84_0.tmd, _48_TestBloomFilteredLucenePostings_0.blm, _48_TestBloomFilteredLucenePostings_0.doc, _48_TestBloomFilteredLucenePostings_0.pos, _48_TestBloomFilteredLucenePostings_0.tim,\ _48_TestBloomFilteredLucenePostings_0.tip, _48_TestBloomFilteredLucenePostings_0.tmd, _49.fdm, _49.fdt, _49.fdx, _49.fnm, _49.nvd, _49.nvm, _49.si, _49_1.liv, _49_Lucene80_0.dvd, _49_Luce\ ne80_0.dvm, _49_Lucene84_0.doc, _49_Lucene84_0.pos, _49_Lucene84_0.tim, _49_Lucene84_0.tip, _49_Lucene84_0.tmd, _49_TestBloomFilteredLucenePostings_0.blm, _49_TestBloomFilteredLucenePostin\ gs_0.doc, _49_TestBloomFilteredLucenePostings_0.pos, _49_TestBloomFilteredLucenePostings_0.tim, _49_TestBloomFilteredLucenePostings_0.tip, _49_TestBloomFilteredLucenePostings_0.tmd, _4a.fd\ m, _4a.fdt, _4a.fdx, _4a.fnm, _4a.nvd, _4a.nvm, _4a.si, _4a_1.liv, _4a_Lucene80_0.dvd, _4a_Lucene80_0.dvm, _4a_Lucene84_0.doc, _4a_Lucene84_0.pos, _4a_Lucene84_0.tim, _4a_Lucene84_0.tip, _\ 4a_Lucene84_0.tmd, _4a_TestBloomFilteredLucenePostings_0.blm, _4a_TestBloomFilteredLucenePostings_0.doc, _4a_TestBloomFilteredLucenePostings_0.pos, _4a_TestBloomFilteredLucenePostings_0.ti\ m, _4a_TestBloomFilteredLucenePostings_0.tip, _4a_TestBloomFilteredLucenePostings_0.tmd, _4b.fdm, _4b.fdt, _4b.fdx, _4b.fnm, _4b.nvd, _4b.nvm, _4b.si, _4b_1.liv, _4b_Lucene80_0.dvd, _4b_Lu\ cene80_0.dvm, _4b_Lucene84_0.doc, _4b_Lucene84_0.pos, _4b_Lucene84_0.tim, _4b_Lucene84_0.tip, _4b_Lucene84_0.tmd, _4b_TestBloomFilteredLucenePostings_0.blm, _4b_TestBloomFilteredLucenePost\ ings_0.doc, _4b_TestBloomFilteredLucenePostings_0.pos, _4b_TestBloomFilteredLucenePostings_0.tim, _4b_TestBloomFilteredLucenePostings_0.tip, _4b_TestBloomFilteredLucenePostings_0.tmd, _4c.\ fdm, _4c.fdt, _4c.fdx, _4c.fnm, _4c.nvd, _4c.nvm, _4c.si, _4c_Lucene80_0.dvd, _4c_Lucene80_0.dvm, _4c_Lucene84_0.doc, _4c_Lucene84_0.pos, _4c_Lucene84_0.tim, _4c_Lucene84_0.tip, _4c_Lucene\ 84_0.tmd, _4c_TestBloomFilteredLucenePostings_0.blm, _4c_TestBloomFilteredLucenePostings_0.doc, _4c_TestBloomFilteredLucenePostings_0.pos, _4c_TestBloomFilteredLucenePostings_0.tim, _4c_Te\ stBloomFilteredLucenePostings_0.tip, _4c_TestBloomFilteredLucenePostings_0.tmd, _4o.cfe, _4o.cfs, _4o.si, _4o_1.liv, _4s.cfe, _4s.cfs, _4s.si, _5h.cfe, _5h.cfs, _5h.si, _5h_1.liv, _5p.cfe,\ _5p.cfs, _5p.si, _5s.cfe, _5s.cfs, _5s.si, _5v.fdm, _5v.fdt, _5v.fdx, _5v.fnm, _5v.nvd, _5v.nvm, _5v.si, _5v_Lucene80_0.dvd, _5v_Lucene80_0.dvm, _5v_Lucene84_0.doc, _5v_Lucene84_0.pos, _5\ v_Lucene84_0.tim, _5v_Lucene84_0.tip, _5v_Lucene84_0.tmd, _5v_TestBloomFilteredLucenePostings_0.blm, _5v_TestBloomFilteredLucenePostings_0.doc, _5v_TestBloomFilteredLucenePostings_0.pos, _\ 5v_TestBloomFilteredLucenePostings_0.tim, _5v_TestBloomFilteredLucenePostings_0.tip, _5v_TestBloomFilteredLucenePostings_0.tmd, _63.fdm, _63.fdt, _63.fdx, _63.fnm, _63.nvd, _63.nvm, _63.si\ , _63_Lucene80_0.dvd, _63_Lucene80_0.dvm, _63_Lucene84_0.doc, _63_Lucene84_0.pos, _63_Lucene84_0.tim, _63_Lucene84_0.tip, _63_Lucene84_0.tmd, _63_TestBlo > omFilteredLucenePostings_0.blm, _63_TestBloomFilteredLucenePostings_0.doc, _63_TestBloomFilteredLucenePostings_0.pos, _63_TestBloomFilteredLucenePostings_0.tim, _63_TestBloomFilteredL\ ucenePostings_0.tip, _63_TestBloomFilteredLucenePostings_0.tmd, _64.fdm, _64.fdt, _64.fdx, _64.fnm, _64.nvd, _64.nvm, _64.si, _64_Lucene80_0.dvd, _64_Lucene80_0.dvm, _64_Lucene84_0.doc, _6\ 4_Lucene84_0.pos, _64_Lucene84_0.tim, _64_Lucene84_0.tip, _64_Lucene84_0.tmd, _64_TestBloomFilteredLucenePostings_0.blm, _64_TestBloomFilteredLucenePostings_0.doc, _64_TestBloomFilteredLuc\ enePostings_0.pos, _64_TestBloomFilteredLucenePostings_0.tim, _64_TestBloomFilteredLucenePostings_0.tip, _64_TestBloomFilteredLucenePostings_0.tmd, _65.fdm, _65.fdt, _65.fdx, _65.fnm, _65.\ nvd, _65.nvm, _65.si, _65_Lucene80_0.dvd, _65_Lucene80_0.dvm, _65_Lucene84_0.doc, _65_Lucene84_0.pos, _65_Lucene84_0.tim, _65_Lucene84_0.tip, _65_Lucene84_0.tmd, _65_TestBloomFilteredLucen\ ePostings_0.blm, _65_TestBloomFilteredLucenePostings_0.doc, _65_TestBloomFilteredLucenePostings_0.pos, _65_TestBloomFilteredLucenePostings_0.tim, _65_TestBloomFilteredLucenePostings_0.tip,\ _65_TestBloomFilteredLucenePostings_0.tmd, _66.fdm, _66.fdt, _66.fdx, _66.fnm, _66.nvd, _66.nvm, _66.si, _66_Lucene80_0.dvd, _66_Lucene80_0.dvm, _66_Lucene84_0.doc, _66_Lucene84_0.pos, _6\ 6_Lucene84_0.tim, _66_Lucene84_0.tip, _66_Lucene84_0.tmd, _66_TestBloomFilteredLucenePostings_0.blm, _66_TestBloomFilteredLucenePostings_0.doc, _66_TestBloomFilteredLucenePostings_0.pos, _\ 66_TestBloomFilteredLucenePostings_0.tim, _66_TestBloomFilteredLucenePostings_0.tip, _66_TestBloomFilteredLucenePostings_0.tmd, _67.fdm, _67.fdt, _67.fdx, _67.fnm, _67.nvd, _67.nvm, _67.si\ , _67_Lucene80_0.dvd, _67_Lucene80_0.dvm, _67_Lucene84_0.doc, _67_Lucene84_0.pos, _67_Lucene84_0.tim, _67_Lucene84_0.tip, _67_Lucene84_0.tmd, _67_TestBloomFilteredLucenePostings_0.blm, _67\ _TestBloomFilteredLucenePostings_0.doc, _67_TestBloomFilteredLucenePostings_0.pos, _67_TestBloomFilteredLucenePostings_0.tim, _67_TestBloomFilteredLucenePostings_0.tip, _67_TestBloomFilter\ edLucenePostings_0.tmd, _68.fdm, _68.fdt, _68.fdx, _68.fnm, _68.nvd, _68.nvm, _68.si, _68_Lucene80_0.dvd, _68_Lucene80_0.dvm, _68_Lucene84_0.doc, _68_Lucene84_0.pos, _68_Lucene84_0.tim, _6\ 8_Lucene84_0.tip, _68_Lucene84_0.tmd, _68_TestBloomFilteredLucenePostings_0.blm, _68_TestBloomFilteredLucenePostings_0.doc, _68_TestBloomFilteredLucenePostings_0.pos, _68_TestBloomFiltered\ LucenePostings_0.tim, _68_TestBloomFilteredLucenePostings_0.tip, _68_TestBloomFilteredLucenePostings_0.tmd, _69.fdm, _69.fdt, _69.fdx, _69.fnm, _69.nvd, _69.nvm, _69.si, _69_Lucene80_0.dvd\ , _69_Lucene80_0.dvm, _69_Lucene84_0.doc, _69_Lucene84_0.pos, _69_Lucene84_0.tim, _69_Lucene84_0.tip, _69_Lucene84_0.tmd, _69_TestBloomFilteredLucenePostings_0.blm, _69_TestBloomFilteredLu\ cenePostings_0.doc, _69_TestBloomFilteredLucenePostings_0.pos, _69_TestBloomFilteredLucenePostings_0.tim, _69_TestBloomFilteredLucenePostings_0.tip, _69_TestBloomFilteredLucenePostings_0.t\ md, _6e.fdm, _6e.fdt, _6e.fdx, _6e.fnm, _6e.nvd, _6e.nvm, _6e.si, _6e_Lucene80_0.dvd, _6e_Lucene80_0.dvm, _6e_Lucene84_0.doc, _6e_Lucene84_0.pos, _6e_Lucene84_0.tim, _6e_Lucene84_0.tip, _6\ e_Lucene84_0.tmd, _6e_TestBloomFilteredLucenePostings_0.blm, _6e_TestBloomFilteredLucenePostings_0.doc, _6e_TestBloomFilteredLucenePostings_0.pos, _6e_TestBloomFilteredLucenePostings_0.tim\ , _6e_TestBloomFilteredLucenePostings_0.tip, _6e_TestBloomFilteredLucenePostings_0.tmd, _6f.fdm, _6f.fdt, _6f.fdx, _6f.fnm, _6f.nvd, _6f.nvm, _6f.si, _6f_Lucene80_0.dvd, _6f_Lucene80_0.dvm\ , _6f_Lucene84_0.doc, _6f_Lucene84_0.pos, _6f_Lucene84_0.tim, _6f_Lucene84_0.tip, _6f_Lucene84_0.tmd, _6f_TestBloomFilteredLucenePostings_0.blm, _6f_TestBloomFilteredLucenePostings_0.doc, \ _6f_TestBloomFilteredLucenePostings_0.pos, _6f_TestBloomFilteredLucenePostings_0.tim, _6f_TestBloomFilteredLucenePostings_0.tip, _6f_TestBloomFilteredLucenePostings_0.tmd, _6k.cfe, _6k.cfs\ , _6k.si, _6m.fdm, _6m.fdt, _6m.fdx, _6m.fnm, _6m.nvd, _6m.nvm, _6m.si, _6m_Lucene80_0.dvd, _6m_Lucene80_0.dvm, _6m_Lucene84_0.doc, _6m_Lucene84_0.pos, _ > 6m_Lucene84_0.tim, _6m_Lucene84_0.tip, _6m_Lucene84_0.tmd, _6m_TestBloomFilteredLucenePostings_0.blm, _6m_TestBloomFilteredLucenePostings_0.doc, _6m_TestBloomFilteredLucenePostings_0.\ pos, _6m_TestBloomFilteredLucenePostings_0.tim, _6m_TestBloomFilteredLucenePostings_0.tip, _6m_TestBloomFilteredLucenePostings_0.tmd, segments_1l] > at org.junit.Assert.fail(Assert.java:88) > at org.apache.lucene.index.TestIndexWriter.testThreadInterruptDeadlock(TestIndexWriter.java:1136) > 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:49) > at org.apache.lucene.util.AbstractBeforeAfterRule$1.evaluate(AbstractBeforeAfterRule.java:45) > at org.apache.lucene.util.TestRuleThreadAndTestName$1.evaluate(TestRuleThreadAndTestName.java:48) > at org.apache.lucene.util.TestRuleIgnoreAfterMaxFailures$1.evaluate(TestRuleIgnoreAfterMaxFailures.java:64) > at org.apache.lucene.util.TestRuleMarkFailure$1.evaluate(TestRuleMarkFailure.java:47) > 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:45) > at com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36) > at org.apache.lucene.util.TestRuleStoreClassName$1.evaluate(TestRuleStoreClassName.java:41) > 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.TestRuleMarkFailure$1.evaluate(TestRuleMarkFailure.java:47) > at org.apache.lucene.util.TestRuleIgnoreAfterMaxFailures$1.evaluate(TestRuleIgnoreAfterMaxFailures.java:64) > at org.apache.lucene.util.TestRuleIgnoreTestSuites$1.evaluate(TestRuleIgnoreTestSuites.java:54) > 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) > > com.carrotsearch.randomizedtesting.UncaughtExceptionError: Captured an uncaught exception in thread: Thread[id=273, name=Lucene Merge Thread #0, state=RUNNABLE, group=TGRP-TestInd\ exWriter] > > Caused by: > org.apache.lucene.index.MergePolicy$MergeException > at __randomizedtesting.SeedInfo.seed([44D4FB647C2EB498]:0) > at org.apache.lucene.index.ConcurrentMergeScheduler.handleMergeException(ConcurrentMergeScheduler.java:703) > at org.apache.lucene.index.SuppressingConcurrentMergeScheduler.handleMergeException(SuppressingConcurrentMergeScheduler.java:29) > at org.apache.lucene.index.ConcurrentMergeScheduler$MergeThread.run(ConcurrentMergeScheduler.java:694) > > com.carrotsearch.randomizedtesting.UncaughtExceptionError: Captured an uncaught exception in thread: Thread[id=257, name=Thread-211, state=RUNNABLE, group=TGRP-TestIndexWriter] > > Caused by: > org.apache.lucene.util.ThreadInterruptedException: java.lang.InterruptedException: sleep interrupted > at __randomizedtesting.SeedInfo.seed([44D4FB647C2EB498]:0) > at org.apache.lucene.store.SlowOpeningMockIndexInputWrapper.<init>(SlowOpeningMockIndexInputWrapper.java:38) > at org.apache.lucene.store.MockDirectoryWrapper.openInput(MockDirectoryWrapper.java:769) > at org.apache.lucene.codecs.lucene80.Lucene80DocValuesProducer.<init>(Lucene80DocValuesProducer.java:90) > at org.apache.lucene.codecs.lucene80.Lucene80DocValuesFormat.fieldsProducer(Lucene80DocValuesFormat.java:146) > at org.apache.lucene.codecs.perfield.PerFieldDocValuesFormat$FieldsReader.<init>(PerFieldDocValuesFormat.java:303) > at org.apache.lucene.codecs.perfield.PerFieldDocValuesFormat.fieldsProducer(PerFieldDocValuesFormat.java:386) > at org.apache.lucene.index.SegmentDocValues.newDocValuesProducer(SegmentDocValues.java:51) > at org.apache.lucene.index.SegmentDocValues.getDocValuesProducer(SegmentDocValues.java:67) > at org.apache.lucene.index.SegmentReader.initDocValuesProducer(SegmentReader.java:175) > at org.apache.lucene.index.SegmentReader.<init>(SegmentReader.java:99) > at org.apache.lucene.index.CheckIndex.checkIndex(CheckIndex.java:675) > at org.apache.lucene.util.TestUtil.checkIndex(TestUtil.java:301) > at org.apache.lucene.store.MockDirectoryWrapper.close(MockDirectoryWrapper.java:836) > at org.apache.lucene.util.IOUtils.close(IOUtils.java:89) > at org.apache.lucene.util.IOUtils.close(IOUtils.java:77) > at org.apache.lucene.index.TestIndexWriter$IndexerThreadInterrupt.run(TestIndexWriter.java:1083) > > Caused by: > java.lang.InterruptedException: sleep interrupted > at java.base/java.lang.Thread.sleep(Native Method) > at org.apache.lucene.store.SlowOpeningMockIndexInputWrapper.<init>(SlowOpeningMockIndexInputWrapper.java:33) > ... 15 more 2> NOTE: reproduce with: ant test -Dtestcase=TestIndexWriter -Dtests.method=testThreadInterruptDeadlock -Dtests.seed=44D4FB647C2EB498 -Dtests.slow=true -Dtests.badapples=true -Dtests.lo\ cale=wo -Dtests.timezone=AGT -Dtests.asserts=true -Dtests.file.encoding=UTF-8 2> NOTE: leaving temporary files on disk at: /l/trunk/lucene/core/build/tmp/tests-tmp/lucene.index.TestIndexWriter_44D4FB647C2EB498-001 2> NOTE: test params are: codec=Asserting(Lucene86): {=PostingsFormat(name=Direct), a=PostingsFormat(name=MockRandom), c=Lucene84, string=Lucene84, foo=TestBloomFilteredLucenePostings(Bl\ oomFilteringPostingsFormat(Lucene84)), body=TestBloomFilteredLucenePostings(BloomFilteringPostingsFormat(Lucene84)), version=PostingsFormat(name=Direct), content=PostingsFormat(name=MockRa\ ndom), str=PostingsFormat(name=MockRandom), tvtest=PostingsFormat(name=Direct), str3=TestBloomFilteredLucenePostings(BloomFilteringPostingsFormat(Lucene84)), field=TestBloomFilteredLuceneP\ ostings(BloomFilteringPostingsFormat(Lucene84)), content4=PostingsFormat(name=MockRandom), str2=PostingsFormat(name=MockRandom), content1=PostingsFormat(name=Direct), binary=Lucene84, id=L\ ucene84, myfield=TestBloomFilteredLucenePostings(BloomFilteringPostingsFormat(Lucene84))}, docValues:{my_deletes=DocValuesFormat(name=Lucene80), numval=DocValuesFormat(name=Lucene80), sort\ edsetdv=DocValuesFormat(name=Lucene80), soft_deletes=DocValuesFormat(name=Lucene80), sortednumericdv=DocValuesFormat(name=Asserting), num=DocValuesFormat(name=Asserting), binarydv=DocValue\ sFormat(name=Lucene80), dv=DocValuesFormat(name=Asserting), dv_field=DocValuesFormat(name=Lucene80), numericdv=DocValuesFormat(name=Lucene80), soft_delete=DocValuesFormat(name=Asserting), \ sorteddv=DocValuesFormat(name=Lucene80), id=DocValuesFormat(name=Lucene80), soft_deletes_1=DocValuesFormat(name=Lucene80)}, maxPointsInLeafNode=1536, maxMBSortInHeap=5.26460578488734, sim=\ Asserting(RandomSimilarity(queryNorm=false): {=DFI(ChiSquared), c=DFI(Standardized), string=DFR I(ne)B2, body=DFR I(ne)LZ(0.3), content=IB SPL-L3(800.0), str=LM Jelinek-Mercer(0.100000), t\ vtest=DFR I(n)B2, field=BM25(k1=1.2,b=0.75), content4=DFR I(F)L3(800.0), str2=LM Jelinek-Mercer(0.100000), content1=DFR I(n)L2, binary=BM25(k1=1.2,b=0.75), id=DFR I(n)B1, myfield=DFR I(F)B\ Z(0.3)}), locale=wo, timezone=AGT 2> NOTE: Linux 5.5.6-arch1-1 amd64/Oracle Corporation 11.0.6 (64-bit)/cpus=128,threads=1,free=122533264,total=268435456 2> NOTE: All tests run in this JVM: [TestGeoUtils, TestLucene80DocValuesFormat, TestLucene86PointsFormat, TestRollingUpdates, TestSoftDeletesRetentionMergePolicy, TestLogMergePolicy, Tes\ tPayloads, TestIndexWriter] {noformat} It does not reproduce for me, on a single attempt. > Can we merge small segments during refresh, for faster searching? > ----------------------------------------------------------------- > > Key: LUCENE-8962 > URL: https://issues.apache.org/jira/browse/LUCENE-8962 > Project: Lucene - Core > Issue Type: Improvement > Components: core/index > Reporter: Michael McCandless > Priority: Major > Fix For: 8.6 > > Attachments: LUCENE-8962_demo.png, failed-tests.patch, > failure_log.txt, test.diff > > Time Spent: 20h 20m > Remaining Estimate: 0h > > With near-real-time search we ask {{IndexWriter}} to write all in-memory > segments to disk and open an {{IndexReader}} to search them, and this is > typically a quick operation. > However, when you use many threads for concurrent indexing, {{IndexWriter}} > will accumulate write many small segments during {{refresh}} and this then > adds search-time cost as searching must visit all of these tiny segments. > The merge policy would normally quickly coalesce these small segments if > given a little time ... so, could we somehow improve {{IndexWriter'}}s > refresh to optionally kick off merge policy to merge segments below some > threshold before opening the near-real-time reader? It'd be a bit tricky > because while we are waiting for merges, indexing may continue, and new > segments may be flushed, but those new segments shouldn't be included in the > point-in-time segments returned by refresh ... > One could almost do this on top of Lucene today, with a custom merge policy, > and some hackity logic to have the merge policy target small segments just > written by refresh, but it's tricky to then open a near-real-time reader, > excluding newly flushed but including newly merged segments since the refresh > originally finished ... > I'm not yet sure how best to solve this, so I wanted to open an issue for > discussion! -- This message was sent by Atlassian Jira (v8.3.4#803005) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org