You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by us...@apache.org on 2010/07/19 00:02:35 UTC
svn commit: r965299 - in /lucene/dev/trunk/lucene: CHANGES.txt
src/java/org/apache/lucene/search/TimeLimitingCollector.java
Author: uschindler
Date: Sun Jul 18 22:02:34 2010
New Revision: 965299
URL: http://svn.apache.org/viewvc?rev=965299&view=rev
Log:
LUCENE-2549: Fix TimeLimitingCollector#TimeExceededException to record the absolute docid
Modified:
lucene/dev/trunk/lucene/CHANGES.txt
lucene/dev/trunk/lucene/src/java/org/apache/lucene/search/TimeLimitingCollector.java
Modified: lucene/dev/trunk/lucene/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/CHANGES.txt?rev=965299&r1=965298&r2=965299&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/CHANGES.txt (original)
+++ lucene/dev/trunk/lucene/CHANGES.txt Sun Jul 18 22:02:34 2010
@@ -437,6 +437,9 @@ Bug fixes
and float were not affected.
(Yonik Seeley, Uwe Schindler)
+* LUCENE-2549: Fix TimeLimitingCollector#TimeExceededException to record
+ the absolute docid. (Uwe Schindler)
+
New features
* LUCENE-2128: Parallelized fetching document frequencies during weight
Modified: lucene/dev/trunk/lucene/src/java/org/apache/lucene/search/TimeLimitingCollector.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/java/org/apache/lucene/search/TimeLimitingCollector.java?rev=965299&r1=965298&r2=965299&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/java/org/apache/lucene/search/TimeLimitingCollector.java (original)
+++ lucene/dev/trunk/lucene/src/java/org/apache/lucene/search/TimeLimitingCollector.java Sun Jul 18 22:02:34 2010
@@ -111,7 +111,7 @@ public class TimeLimitingCollector exten
public long getTimeElapsed() {
return timeElapsed;
}
- /** Returns last doc that was collected when the search time exceeded. */
+ /** Returns last doc (absolute doc id) that was collected when the search time exceeded. */
public int getLastDocCollected() {
return lastDocCollected;
}
@@ -129,6 +129,8 @@ public class TimeLimitingCollector exten
private final long t0;
private final long timeout;
private final Collector collector;
+
+ private int docBase;
/**
* Create a TimeLimitedCollector wrapper over another {@link Collector} with a specified timeout.
@@ -200,19 +202,20 @@ public class TimeLimitingCollector exten
long time = TIMER_THREAD.getMilliseconds();
if (timeout < time) {
if (greedy) {
- //System.out.println(this+" greedy: before failing, collecting doc: "+doc+" "+(time-t0));
+ //System.out.println(this+" greedy: before failing, collecting doc: "+(docBase + doc)+" "+(time-t0));
collector.collect(doc);
}
- //System.out.println(this+" failing on: "+doc+" "+(time-t0));
- throw new TimeExceededException( timeout-t0, time-t0, doc );
+ //System.out.println(this+" failing on: "+(docBase + doc)+" "+(time-t0));
+ throw new TimeExceededException( timeout-t0, time-t0, docBase + doc );
}
- //System.out.println(this+" collecting: "+doc+" "+(time-t0));
+ //System.out.println(this+" collecting: "+(docBase + doc)+" "+(time-t0));
collector.collect(doc);
}
@Override
public void setNextReader(IndexReader reader, int base) throws IOException {
collector.setNextReader(reader, base);
+ this.docBase = base;
}
@Override