[ 
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

Reply via email to