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


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

        

Reply via email to