You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by ds...@apache.org on 2021/04/26 17:38:24 UTC

[lucene-solr] branch branch_8x updated: SOLR-15067: in 8x, perSegFilter has different values

This is an automated email from the ASF dual-hosted git repository.

dsmiley pushed a commit to branch branch_8x
in repository https://gitbox.apache.org/repos/asf/lucene-solr.git


The following commit(s) were added to refs/heads/branch_8x by this push:
     new 5425e55  SOLR-15067: in 8x, perSegFilter has different values
5425e55 is described below

commit 5425e55349b59d282ab1534a95f99e7d27913b40
Author: David Smiley <ds...@salesforce.com>
AuthorDate: Mon Apr 26 13:36:36 2021 -0400

    SOLR-15067: in 8x, perSegFilter has different values
---
 .../response/transform/ChildDocTransformerFactory.java     | 14 +++-----------
 1 file changed, 3 insertions(+), 11 deletions(-)

diff --git a/solr/core/src/java/org/apache/solr/response/transform/ChildDocTransformerFactory.java b/solr/core/src/java/org/apache/solr/response/transform/ChildDocTransformerFactory.java
index 66a32e1..652a104 100644
--- a/solr/core/src/java/org/apache/solr/response/transform/ChildDocTransformerFactory.java
+++ b/solr/core/src/java/org/apache/solr/response/transform/ChildDocTransformerFactory.java
@@ -24,7 +24,6 @@ import org.apache.lucene.search.DocValuesFieldExistsQuery;
 import org.apache.lucene.search.MatchAllDocsQuery;
 import org.apache.lucene.search.Query;
 import org.apache.lucene.search.join.BitSetProducer;
-import org.apache.lucene.search.join.QueryBitSetProducer;
 import org.apache.solr.client.solrj.util.ClientUtils;
 import org.apache.solr.common.SolrException;
 import org.apache.solr.common.SolrException.ErrorCode;
@@ -33,9 +32,9 @@ import org.apache.solr.request.SolrQueryRequest;
 import org.apache.solr.schema.SchemaField;
 import org.apache.solr.search.DocSet;
 import org.apache.solr.search.QParser;
-import org.apache.solr.search.SolrCache;
 import org.apache.solr.search.SolrReturnFields;
 import org.apache.solr.search.SyntaxError;
+import org.apache.solr.search.join.BlockJoinParentQParser;
 
 import static org.apache.solr.schema.IndexSchema.NEST_PATH_FIELD_NAME;
 
@@ -174,15 +173,8 @@ public class ChildDocTransformerFactory extends TransformerFactory {
         + " +(" + remaining + ")";
   }
 
-  public static BitSetProducer getCachedBitSetProducer(final SolrQueryRequest request, Query query) {
-    @SuppressWarnings("unchecked")
-    SolrCache<Query, BitSetProducer> parentCache = request.getSearcher().getCache(CACHE_NAME);
-    // lazily retrieve from solr cache
-    if (parentCache != null) {
-      return parentCache.computeIfAbsent(query, QueryBitSetProducer::new);
-    } else {
-      return new QueryBitSetProducer(query);
-    }
+  private static BitSetProducer getCachedBitSetProducer(final SolrQueryRequest request, Query query) {
+    return BlockJoinParentQParser.getCachedFilter(request, query).getFilter();
   }
 }