[ https://issues.apache.org/jira/browse/LUCENENET-442?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Digy resolved LUCENENET-442. ---------------------------- Resolution: Fixed Assignee: Digy Fixed for 2.9.4 & 2.9.4g > ParallelMultiSearcher threads don't handle all exceptions > --------------------------------------------------------- > > Key: LUCENENET-442 > URL: https://issues.apache.org/jira/browse/LUCENENET-442 > Project: Lucene.Net > Issue Type: Bug > Components: Lucene.Net Core > Affects Versions: Lucene.Net 2.9.2 > Reporter: Andy Twidle > Assignee: Digy > Fix For: Lucene.Net 2.9.4, Lucene.Net 2.9.4g > > Attachments: LUCENENET-442.patch > > > The ParallelMultiSearcher doesn't allow non-IOException exceptions to be > managed by the calling application. > LUCENENET-388 worked around one specific example of this, but any genuine > Lucene exception (eg: BooleanQuery.TooManyClauses) will also fall foul of > this pattern. > In our specific instance we could treat the symptoms and up the max clause > count, but I'm sure there will be more. Could the System.IOException be > generalised to System.Exception? Or would that be too much deviation from > the Java code base? > -- > Example stack trace of an exception thrown by a Searcher executed: > Framework Version: v4.0.30319 > Description: The process was terminated due to an unhandled exception. > Exception Info: Lucene.Net.Search.BooleanQuery+TooManyClauses > Stack: > at Lucene.Net.Search.BooleanQuery.Add(Lucene.Net.Search.BooleanClause) > at Lucene.Net.Search.BooleanQuery.Add(Lucene.Net.Search.Query, Occur) > at Lucene.Net.Search.PrefixQuery.Rewrite(Lucene.Net.Index.IndexReader) > at Lucene.Net.Search.BooleanQuery.Rewrite(Lucene.Net.Index.IndexReader) > at Lucene.Net.Search.IndexSearcher.Rewrite(Lucene.Net.Search.Query) > at Lucene.Net.Search.Query.Weight(Lucene.Net.Search.Searcher) > at Lucene.Net.Search.Searcher.CreateWeight(Lucene.Net.Search.Query) > at Lucene.Net.Search.Searcher.Search(Lucene.Net.Search.Query, > Lucene.Net.Search.Filter, Lucene.Net.Search.HitCollector) > at Lucene.Net.Search.Searcher.Search(Lucene.Net.Search.Query, > Lucene.Net.Search.HitCollector) > at Lucene.Net.Search.QueryWrapperFilter.Bits(Lucene.Net.Index.IndexReader) > at > Lucene.Net.Search.CachingWrapperFilter.Bits(Lucene.Net.Index.IndexReader) > at Lucene.Net.Search.IndexSearcher.Search(Lucene.Net.Search.Weight, > Lucene.Net.Search.Filter, Lucene.Net.Search.HitCollector) > at Lucene.Net.Search.IndexSearcher.Search(Lucene.Net.Search.Weight, > Lucene.Net.Search.Filter, Int32) > at Lucene.Net.Search.MultiSearcherThread.Run() > at > System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, > System.Threading.ContextCallback, System.Object, Boolean) > at > System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, > System.Threading.ContextCallback, System.Object) > at System.Threading.ThreadHelper.ThreadStart() -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira