This is the ramification of using "timeAllowed" (a request param to a search)
~ David Smiley Apache Lucene/Solr Search Developer http://www.linkedin.com/in/davidwsmiley On Thu, Jan 4, 2024 at 2:18 PM rajani m <rajinima...@gmail.com> wrote: > Hi, > > What scenarios would solr warn about "ExitableDirectoryReader" ? I see > several "ExitableDirectoryReader$ExitingReaderException: The request took > too long to iterate over terms.". What causes this this? Is it a shard size > issue or lack of any resources, heap, ram or cpu? . > > Log snippets - > > org.apache.lucene.index.ExitableDirectoryReader$ExitingReaderException: > The request took too long to iterate over terms. Timeout: timeoutAt: > 2101774016440850 (System.nanoTime(): 2101774068035377), > > TermsEnum=org.apache.lucene.codecs.lucene90.blocktree.SegmentTermsEnum@79b2db56 > at > org.apache.lucene.index.ExitableDirectoryReader$ExitableTermsEnum.checkTimeoutWithSampling(ExitableDirectoryReader.java:749) > at > org.apache.lucene.index.ExitableDirectoryReader$ExitableTermsEnum.<init>(ExitableDirectoryReader.java:737) > at > org.apache.lucene.index.ExitableDirectoryReader$ExitableTerms.iterator(ExitableDirectoryReader.java:719) > at > org.apache.lucene.index.TermStates.loadTermsEnum(TermStates.java:116) > at org.apache.lucene.index.TermStates.build(TermStates.java:102) > at > org.apache.lucene.search.PhraseQuery$1.getStats(PhraseQuery.java:461) > at > org.apache.lucene.search.PhraseWeight.<init>(PhraseWeight.java:44) > at > org.apache.lucene.search.PhraseQuery$1.<init>(PhraseQuery.java:441) > at > org.apache.lucene.search.PhraseQuery.createWeight(PhraseQuery.java:441) > at > org.apache.lucene.search.BoostQuery.createWeight(BoostQuery.java:124) > at > org.apache.lucene.search.IndexSearcher.createWeight(IndexSearcher.java:869) > at > org.apache.lucene.search.BooleanWeight.<init>(BooleanWeight.java:59) > at > org.apache.lucene.search.BooleanQuery.createWeight(BooleanQuery.java:237) > at > org.apache.lucene.queries.function.FunctionScoreQuery.createWeight(FunctionScoreQuery.java:113) > > > (from a different time window) > > > org.apache.lucene.index.ExitableDirectoryReader$ExitingReaderException: > The request took too long to iterate over doc values. Timeout: > timeoutAt: 2103004456482731 (System.nanoTime(): 2103004484203805), > > DocValues=org.apache.lucene.codecs.lucene90.Lucene90DocValuesProducer$2@2e1600c4 > at > org.apache.lucene.index.ExitableDirectoryReader$ExitableFilterAtomicReader.checkAndThrow(ExitableDirectoryReader.java:394) > at > org.apache.lucene.index.ExitableDirectoryReader$ExitableFilterAtomicReader$1.advance(ExitableDirectoryReader.java:124) > at > org.apache.lucene.queries.function.valuesource.IntFieldSource$1.exists(IntFieldSource.java:81) > at > org.apache.lucene.queries.function.valuesource.MinFloatFunction.func(MinFloatFunction.java:39) > at > org.apache.lucene.queries.function.valuesource.MultiFloatFunction$1.floatVal(MultiFloatFunction.java:83) > at > org.apache.lucene.queries.function.valuesource.SumFloatFunction.func(SumFloatFunction.java:38) > at > org.apache.lucene.queries.function.valuesource.MultiFloatFunction$1.floatVal(MultiFloatFunction.java:83) > at > org.apache.lucene.queries.function.docvalues.FloatDocValues.doubleVal(FloatDocValues.java:66) > at > org.apache.solr.search.ValueSourceParser$33.func(ValueSourceParser.java:587) > at > org.apache.solr.search.ValueSourceParser$DoubleParser$Function$1.doubleVal(ValueSourceParser.java:1666) > at > org.apache.lucene.queries.function.docvalues.DoubleDocValues.floatVal(DoubleDocValues.java:51) > at > org.apache.lucene.queries.function.valuesource.ProductFloatFunction.func(ProductFloatFunction.java:38) > at > org.apache.lucene.queries.function.valuesource.MultiFloatFunction$1.floatVal(MultiFloatFunction.java:83) > at > org.apache.lucene.queries.function.FunctionQuery$AllScorer.score(FunctionQuery.java:126) > at > org.apache.lucene.search.DisjunctionSumScorer.score(DisjunctionSumScorer.java:41) >