Dawid: It's certainly possible. I'm working on LUCENE-7976 and one of my attempts did exactly that. There's a tricky bit of code there where a forceMerge merges some segments and then gets called again for them to get merged in turn (this to respect maxMergeAtOnceExplicit which defaults to 30). If the logic was a bit off it could keep going.
I think another place I messed up was when the merging didn't have maxMergeAtOnce segments. one of the find*Merges kept being called because there were segments to merge but never merged any because of a faulty conditional. I took a quick look at the test output and don't see _what_ merge policy is being used though. I _don't_ think TMP has this problem, but don't know about any of the other merge policies. In the FWIW category, TMP.findMerges() gets a MergeTrigger as a parameter but then totally ignores it (even in the current code). Erick On Mon, Apr 9, 2018 at 1:06 AM, Dawid Weiss <dawid.we...@gmail.com> wrote: > There is an odd timeout failure here: > https://builds.apache.org/job/Lucene-Solr-NightlyTests-7.x/195/consoleFull > > The TestPerFieldDocValuesFormat timed out. The stack trace shows just > one relevant thread in the enforced index merge, never returning from > the loop awaiting the number of segments to reach the desired number. > Is it possible that the merge policy ignores MergeTrigger.EXPLICIT > this this results in an endless loop? > > [junit4] 2> 4) Thread[id=12, > name=TEST-TestPerFieldDocValuesFormat.testSparseBinaryFixedLengthVsStoredFields-seed#[617399315453E295], > state=TIMED_WAITING, group=TGRP-TestPerFieldDocValuesFormat] > [junit4] 2> at java.lang.Object.wait(Native Method) > [junit4] 2> at > org.apache.lucene.index.IndexWriter.doWait(IndexWriter.java:4716) > [junit4] 2> at > org.apache.lucene.index.IndexWriter.forceMerge(IndexWriter.java:2191) > [junit4] 2> at > org.apache.lucene.index.IndexWriter.forceMerge(IndexWriter.java:2119) > [junit4] 2> at > org.apache.lucene.index.RandomIndexWriter.forceMerge(RandomIndexWriter.java:445) > [junit4] 2> at > org.apache.lucene.index.BaseDocValuesFormatTestCase.doTestBinaryVsStoredFields(BaseDocValuesFormatTestCase.java:1472) > [junit4] 2> at > org.apache.lucene.index.BaseDocValuesFormatTestCase.doTestBinaryFixedLengthVsStoredFields(BaseDocValuesFormatTestCase.java:1508) > [junit4] 2> at > org.apache.lucene.index.BaseDocValuesFormatTestCase.testSparseBinaryFixedLengthVsStoredFields(BaseDocValuesFormatTestCase.java:1501) > > Dawid > > --------------------------------------------------------------------- > To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org > For additional commands, e-mail: dev-h...@lucene.apache.org > --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org