You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucenenet.apache.org by di...@apache.org on 2011/09/05 20:29:32 UTC
[Lucene.Net] svn commit: r1165376 -
/incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/ParallelMultiSearcher.cs
Author: digy
Date: Mon Sep 5 18:29:31 2011
New Revision: 1165376
URL: http://svn.apache.org/viewvc?rev=1165376&view=rev
Log:
[LUCENENET-442] ParallelMultiSearcher threads don't handle all exceptions
Modified:
incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/ParallelMultiSearcher.cs
Modified: incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/ParallelMultiSearcher.cs
URL: http://svn.apache.org/viewvc/incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/ParallelMultiSearcher.cs?rev=1165376&r1=1165375&r2=1165376&view=diff
==============================================================================
--- incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/ParallelMultiSearcher.cs (original)
+++ incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/ParallelMultiSearcher.cs Mon Sep 5 18:29:31 2011
@@ -76,7 +76,7 @@ namespace Lucene.Net.Search
private int[] starts;
/// <summary>Creates a searchable which searches <i>searchables</i>. </summary>
- public ParallelMultiSearcher(Searchable[] searchables):base(searchables)
+ public ParallelMultiSearcher(params Searchable[] searchables):base(searchables)
{
this.searchables = searchables;
this.starts = GetStarts();
@@ -247,7 +247,7 @@ namespace Lucene.Net.Search
private int i;
private PriorityQueue<ScoreDoc> hq;
private int[] starts;
- private System.IO.IOException ioe;
+ private System.Exception ioe;
private Sort sort;
public MultiSearcherThread(Searchable searchable, Weight weight, Filter filter, int nDocs, HitQueue hq, int i, int[] starts, System.String name):base(name)
@@ -280,10 +280,10 @@ namespace Lucene.Net.Search
docs = (sort == null)?searchable.Search(weight, filter, nDocs):searchable.Search(weight, filter, nDocs, sort);
}
// Store the IOException for later use by the caller of this thread
- catch (System.IO.IOException ioe)
- {
- this.ioe = ioe;
- }
+ catch (System.Exception e)
+ {
+ this.ioe = e;
+ }
if (this.ioe == null)
{
// if we are sorting by fields, we need to tell the field sorted hit queue
@@ -340,7 +340,8 @@ namespace Lucene.Net.Search
public virtual System.IO.IOException GetIOException()
{
- return ioe;
+ if (ioe == null) return null;
+ return new System.IO.IOException(ioe.Message);
}
}
}
\ No newline at end of file