You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by to...@apache.org on 2018/05/28 11:18:44 UTC

svn commit: r1832379 - in /jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr: configuration/nodestate/NodeStateSolrServersObserver.java query/FilterQueryParser.java query/SolrQueryIndex.java

Author: tommaso
Date: Mon May 28 11:18:44 2018
New Revision: 1832379

URL: http://svn.apache.org/viewvc?rev=1832379&view=rev
Log:
OAK-7513 - avoid NPE in exact size calculation, adjusted some log statements

Modified:
    jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/configuration/nodestate/NodeStateSolrServersObserver.java
    jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/query/FilterQueryParser.java
    jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/query/SolrQueryIndex.java

Modified: jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/configuration/nodestate/NodeStateSolrServersObserver.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/configuration/nodestate/NodeStateSolrServersObserver.java?rev=1832379&r1=1832378&r2=1832379&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/configuration/nodestate/NodeStateSolrServersObserver.java (original)
+++ jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/configuration/nodestate/NodeStateSolrServersObserver.java Mon May 28 11:18:44 2018
@@ -117,7 +117,6 @@ public class NodeStateSolrServersObserve
         }
 
         private boolean isSolrServerNode(String name, NodeState nodeState) {
-            log.info("checking {} in {}", name, nodeState);
             return "server".equals(name) && nodeState.hasProperty("solrServerType");
         }
 

Modified: jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/query/FilterQueryParser.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/query/FilterQueryParser.java?rev=1832379&r1=1832378&r2=1832379&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/query/FilterQueryParser.java (original)
+++ jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/query/FilterQueryParser.java Mon May 28 11:18:44 2018
@@ -65,8 +65,8 @@ class FilterQueryParser {
             }
         }
 
-        List<QueryIndex.OrderEntry> sortOrder = plan.getSortOrder();
-        if (sortOrder != null) {
+        if (plan != null && plan.getSortOrder() != null) {
+            List<QueryIndex.OrderEntry> sortOrder = plan.getSortOrder();
             for (QueryIndex.OrderEntry orderEntry : sortOrder) {
                 SolrQuery.ORDER order;
                 if (QueryIndex.OrderEntry.Order.ASCENDING.equals(orderEntry.getOrder())) {

Modified: jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/query/SolrQueryIndex.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/query/SolrQueryIndex.java?rev=1832379&r1=1832378&r2=1832379&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/query/SolrQueryIndex.java (original)
+++ jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/query/SolrQueryIndex.java Mon May 28 11:18:44 2018
@@ -152,7 +152,7 @@ public class SolrQueryIndex implements F
                 match++;
             }
         }
-
+        log.debug("{} matched restrictions for filter {} and configuration {}", match, filter, configuration);
 
         return match;
     }
@@ -587,12 +587,14 @@ public class SolrQueryIndex implements F
     private IndexPlan getIndexPlan(Filter filter, OakSolrConfiguration configuration, LMSEstimator estimator,
                                    List<OrderEntry> sortOrder, String path) {
         if (getMatchingFilterRestrictions(filter, configuration) > 0) {
-            return planBuilder(filter)
-                    .setEstimatedEntryCount(estimator.estimate(filter))
-                    .setSortOrder(sortOrder)
-                    .setPlanName(path)
-                    .setPathPrefix(getPathPrefix(path))
-                    .build();
+            IndexPlan indexPlan = planBuilder(filter)
+                .setEstimatedEntryCount(estimator.estimate(filter))
+                .setSortOrder(sortOrder)
+                .setPlanName(path)
+                .setPathPrefix(getPathPrefix(path))
+                .build();
+            log.debug("index plan {}", indexPlan);
+            return indexPlan;
         } else {
             return null;
         }
@@ -792,7 +794,7 @@ public class SolrQueryIndex implements F
             switch (precision) {
                 case EXACT:
                     // query solr
-                    SolrQuery countQuery = FilterQueryParser.getQuery(plan.getFilter(), null, this.configuration);
+                    SolrQuery countQuery = FilterQueryParser.getQuery(plan.getFilter(), plan, this.configuration);
                     countQuery.setRows(0);
                     try {
                         estimate = this.solrServer.query(countQuery).getResults().getNumFound();