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);
     }
 

Reply via email to