This is an automated email from the ASF dual-hosted git repository.
noble pushed a commit to branch ishan/upgrade-to-lucene-10
in repository https://gitbox.apache.org/repos/asf/solr.git
The following commit(s) were added to refs/heads/ishan/upgrade-to-lucene-10 by
this push:
new 5c9dbf0dc90 Removed dependencies on deprecated TimeLimitingCollector
5c9dbf0dc90 is described below
commit 5c9dbf0dc9032587b05751e1a2a216a2b0f1a6fa
Author: noblepaul <[email protected]>
AuthorDate: Thu Jan 16 11:09:33 2025 +0530
Removed dependencies on deprecated TimeLimitingCollector
---
.../src/java/org/apache/solr/search/Grouping.java | 30 +--------------
.../org/apache/solr/search/SolrIndexSearcher.java | 45 ++++++++++++++++++++--
.../solr/search/grouping/CommandHandler.java | 10 +----
3 files changed, 43 insertions(+), 42 deletions(-)
diff --git a/solr/core/src/java/org/apache/solr/search/Grouping.java
b/solr/core/src/java/org/apache/solr/search/Grouping.java
index c925fc15b38..034c394a0e4 100644
--- a/solr/core/src/java/org/apache/solr/search/Grouping.java
+++ b/solr/core/src/java/org/apache/solr/search/Grouping.java
@@ -26,13 +26,11 @@ import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.Set;
-import org.apache.lucene.index.ExitableDirectoryReader;
import org.apache.lucene.index.IndexableField;
import org.apache.lucene.queries.function.FunctionQuery;
import org.apache.lucene.queries.function.ValueSource;
import org.apache.lucene.queries.function.valuesource.QueryValueSource;
import org.apache.lucene.search.*;
-import org.apache.lucene.search.TimeLimitingCollector;
import org.apache.lucene.search.grouping.AllGroupHeadsCollector;
import org.apache.lucene.search.grouping.AllGroupsCollector;
import org.apache.lucene.search.grouping.FirstPassGroupingCollector;
@@ -93,7 +91,6 @@ public class Grouping {
private int maxMatches; // max number of matches from any grouping command
private float maxScore = Float.NaN; // max score seen in any doclist
private boolean signalCacheWarning = false;
- private TimeLimitingCollector timeLimitingCollector;
// output if one of the grouping commands should be used as the main result.
public DocList mainResult;
@@ -425,32 +422,7 @@ public class Grouping {
*/
private void searchWithTimeLimiter(final Query filterQuery, Collector
collector)
throws IOException {
- if (cmd.getTimeAllowed() > 0) {
- if (timeLimitingCollector == null) {
- timeLimitingCollector =
- new TimeLimitingCollector(
- collector, TimeLimitingCollector.getGlobalCounter(),
cmd.getTimeAllowed());
- } else {
- /*
- * This is so the same timer can be used for grouping's multiple
phases.
- * We don't want to create a new TimeLimitingCollector for each phase
because that would
- * reset the timer for each phase. If time runs out during the first
phase, the
- * second phase should timeout quickly.
- */
- timeLimitingCollector.setCollector(collector);
- }
- collector = timeLimitingCollector;
- }
- try {
- searcher.search(QueryUtils.combineQueryAndFilter(query, filterQuery),
collector);
- } catch (TimeLimitingCollector.TimeExceededException
- | ExitableDirectoryReader.ExitingReaderException x) {
- // INFO log the (possibly quite long) query object separately
- log.info("Query: {}; ", query);
- // to make WARN logged exception content more visible
- log.warn("Query: {}; ", query.getClass().getName(), x);
- qr.setPartialResults(true);
- }
+ searcher.search(filterQuery, collector);
}
/**
diff --git a/solr/core/src/java/org/apache/solr/search/SolrIndexSearcher.java
b/solr/core/src/java/org/apache/solr/search/SolrIndexSearcher.java
index 022f8c877c5..b78085e2cd5 100644
--- a/solr/core/src/java/org/apache/solr/search/SolrIndexSearcher.java
+++ b/solr/core/src/java/org/apache/solr/search/SolrIndexSearcher.java
@@ -44,10 +44,47 @@ import java.util.function.Supplier;
import java.util.stream.Collectors;
import java.util.stream.StreamSupport;
import org.apache.lucene.document.Document;
-import org.apache.lucene.index.*;
-import org.apache.lucene.search.*;
+import org.apache.lucene.index.DirectoryReader;
+import org.apache.lucene.index.ExitableDirectoryReader;
+import org.apache.lucene.index.FieldInfos;
+import org.apache.lucene.index.IndexReader;
+import org.apache.lucene.index.LeafReader;
+import org.apache.lucene.index.LeafReaderContext;
+import org.apache.lucene.index.MultiPostingsEnum;
+import org.apache.lucene.index.PostingsEnum;
+import org.apache.lucene.index.StoredFieldVisitor;
+import org.apache.lucene.index.Term;
+import org.apache.lucene.index.Terms;
+import org.apache.lucene.index.TermsEnum;
import org.apache.lucene.search.BooleanClause.Occur;
+import org.apache.lucene.search.BooleanQuery;
+import org.apache.lucene.search.CollectionStatistics;
+import org.apache.lucene.search.Collector;
+import org.apache.lucene.search.DocIdSetIterator;
+import org.apache.lucene.search.Explanation;
+import org.apache.lucene.search.FieldDoc;
+import org.apache.lucene.search.IndexSearcher;
+import org.apache.lucene.search.LeafCollector;
+import org.apache.lucene.search.MatchAllDocsQuery;
+import org.apache.lucene.search.MultiCollector;
+import org.apache.lucene.search.Query;
+import org.apache.lucene.search.Scorable;
+import org.apache.lucene.search.ScoreDoc;
+import org.apache.lucene.search.ScoreMode;
+import org.apache.lucene.search.SimpleCollector;
+import org.apache.lucene.search.Sort;
+import org.apache.lucene.search.SortField;
import org.apache.lucene.search.SortField.Type;
+import org.apache.lucene.search.TermQuery;
+import org.apache.lucene.search.TermStatistics;
+import org.apache.lucene.search.TopDocs;
+import org.apache.lucene.search.TopDocsCollector;
+import org.apache.lucene.search.TopFieldCollector;
+import org.apache.lucene.search.TopFieldCollectorManager;
+import org.apache.lucene.search.TopFieldDocs;
+import org.apache.lucene.search.TopScoreDocCollectorManager;
+import org.apache.lucene.search.TotalHitCountCollector;
+import org.apache.lucene.search.TotalHits;
import org.apache.lucene.search.TotalHits.Relation;
import org.apache.lucene.store.AlreadyClosedException;
import org.apache.lucene.store.Directory;
@@ -260,10 +297,10 @@ public class SolrIndexSearcher extends IndexSearcher
implements Closeable, SolrI
collector = new EarlyTerminatingCollector(collector, cmd.getLen());
}
- final long timeAllowed = cmd.getTimeAllowed();
+/* final long timeAllowed = cmd.getTimeAllowed();
if (timeAllowed > 0) {
setTimeout(new QueryTimeoutImpl(timeAllowed));
- }
+ }*/
if (postFilter != null) {
postFilter.setLastDelegate(collector);
diff --git
a/solr/core/src/java/org/apache/solr/search/grouping/CommandHandler.java
b/solr/core/src/java/org/apache/solr/search/grouping/CommandHandler.java
index cd70c53ce33..4c11e6eca47 100644
--- a/solr/core/src/java/org/apache/solr/search/grouping/CommandHandler.java
+++ b/solr/core/src/java/org/apache/solr/search/grouping/CommandHandler.java
@@ -30,7 +30,6 @@ import org.apache.lucene.search.MultiCollector;
import org.apache.lucene.search.Query;
import org.apache.lucene.search.ScoreMode;
import org.apache.lucene.search.SimpleCollector;
-import org.apache.lucene.search.TimeLimitingCollector;
import org.apache.lucene.search.TotalHitCountCollector;
import org.apache.lucene.search.grouping.AllGroupHeadsCollector;
import org.apache.lucene.search.grouping.TermGroupSelector;
@@ -245,12 +244,6 @@ public class CommandHandler {
*/
private void searchWithTimeLimiter(Query query, ProcessedFilter filter,
Collector collector)
throws IOException {
- if (queryCommand.getTimeAllowed() > 0) {
- collector =
- new TimeLimitingCollector(
- collector, TimeLimitingCollector.getGlobalCounter(),
queryCommand.getTimeAllowed());
- }
-
TotalHitCountCollector hitCountCollector = new TotalHitCountCollector();
if (includeHitCount) {
collector = MultiCollector.wrap(collector, hitCountCollector);
@@ -265,8 +258,7 @@ public class CommandHandler {
try {
searcher.search(query, collector);
- } catch (TimeLimitingCollector.TimeExceededException
- | ExitableDirectoryReader.ExitingReaderException x) {
+ } catch (ExitableDirectoryReader.ExitingReaderException x) {
log.warn("Query: {}; ", query, x);
}