You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by sh...@apache.org on 2013/11/30 14:09:50 UTC

svn commit: r1546728 - in /lucene/dev/branches/branch_4x: ./ solr/ solr/CHANGES.txt solr/core/ solr/core/src/java/org/apache/solr/handler/component/StatsValuesFactory.java solr/core/src/test/org/apache/solr/TestDistributedSearch.java

Author: shalin
Date: Sat Nov 30 13:09:49 2013
New Revision: 1546728

URL: http://svn.apache.org/r1546728
Log:
SOLR-5515: NPE when getting stats on date field with empty result on SolrCloud

Modified:
    lucene/dev/branches/branch_4x/   (props changed)
    lucene/dev/branches/branch_4x/solr/   (props changed)
    lucene/dev/branches/branch_4x/solr/CHANGES.txt   (contents, props changed)
    lucene/dev/branches/branch_4x/solr/core/   (props changed)
    lucene/dev/branches/branch_4x/solr/core/src/java/org/apache/solr/handler/component/StatsValuesFactory.java
    lucene/dev/branches/branch_4x/solr/core/src/test/org/apache/solr/TestDistributedSearch.java

Modified: lucene/dev/branches/branch_4x/solr/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/solr/CHANGES.txt?rev=1546728&r1=1546727&r2=1546728&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/solr/CHANGES.txt (original)
+++ lucene/dev/branches/branch_4x/solr/CHANGES.txt Sat Nov 30 13:09:49 2013
@@ -129,7 +129,10 @@ Bug Fixes
   a SolrCore does not exist in core discovery mode. (Mark Miller)
   
 * SOLR-5354: Distributed sort is broken with CUSTOM FieldType. 
-  (Steve Rowe, hossman, Robert Muir, Jessica Cheng)  
+  (Steve Rowe, hossman, Robert Muir, Jessica Cheng)
+
+* SOLR-5515: NPE when getting stats on date field with empty result on
+  SolrCloud. (Alexander Sagen, shalin)
 
 Optimizations
 ----------------------

Modified: lucene/dev/branches/branch_4x/solr/core/src/java/org/apache/solr/handler/component/StatsValuesFactory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/solr/core/src/java/org/apache/solr/handler/component/StatsValuesFactory.java?rev=1546728&r1=1546727&r2=1546728&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/solr/core/src/java/org/apache/solr/handler/component/StatsValuesFactory.java (original)
+++ lucene/dev/branches/branch_4x/solr/core/src/java/org/apache/solr/handler/component/StatsValuesFactory.java Sat Nov 30 13:09:49 2013
@@ -421,8 +421,11 @@ class DateStatsValues extends AbstractSt
    */
   @Override
   protected void updateTypeSpecificStats(NamedList stv) {
-    sum += ((Date) stv.get("sum")).getTime();
-    sumOfSquares += ((Number)stv.get("sumOfSquares")).doubleValue();
+    Date date = (Date) stv.get("sum");
+    if (date != null) {
+      sum += date.getTime();
+      sumOfSquares += ((Number)stv.get("sumOfSquares")).doubleValue();
+    }
   }
 
   /**

Modified: lucene/dev/branches/branch_4x/solr/core/src/test/org/apache/solr/TestDistributedSearch.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/solr/core/src/test/org/apache/solr/TestDistributedSearch.java?rev=1546728&r1=1546727&r2=1546728&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/solr/core/src/test/org/apache/solr/TestDistributedSearch.java (original)
+++ lucene/dev/branches/branch_4x/solr/core/src/test/org/apache/solr/TestDistributedSearch.java Sat Nov 30 13:09:49 2013
@@ -398,6 +398,15 @@ public class TestDistributedSearch exten
     // Thread.sleep(10000000000L);
 
     FieldCache.DEFAULT.purgeAllCaches();   // avoid FC insanity
+
+    del("*:*"); // delete all docs and test stats request
+    commit();
+    try {
+      query("q", "*:*", "stats", "true", "stats.field", "stats_dt", "stats.calcdistinct", "true");
+    } catch (Exception e) {
+      log.error("Exception on distrib stats request on empty index", e);
+      fail("NullPointerException with stats request on empty index");
+    }
   }
   
   protected void queryPartialResults(final List<String> upShards,