You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by cp...@apache.org on 2017/05/25 17:37:03 UTC

[58/59] [abbrv] lucene-solr:jira/solr-8668: SOLR-10723: fix resize for CountSlotAcc, HllAgg.NumericAcc

SOLR-10723: fix resize for CountSlotAcc, HllAgg.NumericAcc


Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/1802d24a
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/1802d24a
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/1802d24a

Branch: refs/heads/jira/solr-8668
Commit: 1802d24abac25f78c0c714af7dd6e6a81b7d283f
Parents: 2d18458
Author: yonik <yo...@apache.org>
Authored: Mon May 22 22:39:33 2017 -0400
Committer: yonik <yo...@apache.org>
Committed: Mon May 22 22:39:33 2017 -0400

----------------------------------------------------------------------
 solr/CHANGES.txt                                               | 6 ++++++
 solr/core/src/java/org/apache/solr/search/facet/HLLAgg.java    | 2 +-
 solr/core/src/java/org/apache/solr/search/facet/SlotAcc.java   | 2 +-
 .../src/test/org/apache/solr/search/facet/TestJsonFacets.java  | 4 +++-
 4 files changed, 11 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/1802d24a/solr/CHANGES.txt
----------------------------------------------------------------------
diff --git a/solr/CHANGES.txt b/solr/CHANGES.txt
index 1a8bc6b..7adac97 100644
--- a/solr/CHANGES.txt
+++ b/solr/CHANGES.txt
@@ -189,6 +189,12 @@ New Features
 
 * SOLR-10307: Allow Passing SSL passwords through environment variables. (Mano Kovacs via Mark Miller)
 
+Bug Fixes
+----------------------
+* SOLR-10723 JSON Facet API: resize() implemented incorrectly for CountSlotAcc, HllAgg.NumericAcc
+  resulting in exceptions when using a hashing faceting method and sorting by hll(numeric_field).
+  (yonik)
+
 Other Changes
 ----------------------
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/1802d24a/solr/core/src/java/org/apache/solr/search/facet/HLLAgg.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/search/facet/HLLAgg.java b/solr/core/src/java/org/apache/solr/search/facet/HLLAgg.java
index 80e2bc1..0bd1d84 100644
--- a/solr/core/src/java/org/apache/solr/search/facet/HLLAgg.java
+++ b/solr/core/src/java/org/apache/solr/search/facet/HLLAgg.java
@@ -132,7 +132,7 @@ public class HLLAgg extends StrAggValueSource {
 
     @Override
     public void resize(Resizer resizer) {
-      resizer.resize(sets, null);
+      sets = resizer.resize(sets, null);
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/1802d24a/solr/core/src/java/org/apache/solr/search/facet/SlotAcc.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/search/facet/SlotAcc.java b/solr/core/src/java/org/apache/solr/search/facet/SlotAcc.java
index 4f8552b..1240051 100644
--- a/solr/core/src/java/org/apache/solr/search/facet/SlotAcc.java
+++ b/solr/core/src/java/org/apache/solr/search/facet/SlotAcc.java
@@ -517,7 +517,7 @@ class CountSlotArrAcc extends CountSlotAcc {
 
   @Override
   public void resize(Resizer resizer) {
-    resizer.resize(result, 0);
+    result = resizer.resize(result, 0);
   }
 }
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/1802d24a/solr/core/src/test/org/apache/solr/search/facet/TestJsonFacets.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/search/facet/TestJsonFacets.java b/solr/core/src/test/org/apache/solr/search/facet/TestJsonFacets.java
index 87504f6..3590426 100644
--- a/solr/core/src/test/org/apache/solr/search/facet/TestJsonFacets.java
+++ b/solr/core/src/test/org/apache/solr/search/facet/TestJsonFacets.java
@@ -634,7 +634,8 @@ public class TestJsonFacets extends SolrTestCaseHS {
                 " , f3:{${terms} type:terms, field:'${cat_s}', sort:'x desc', facet:{x:'unique(${where_s})'}  } " +
                 " , f4:{${terms} type:terms, field:'${cat_s}', sort:'x desc', facet:{x:'hll(${where_s})'}  } " +
                 " , f5:{${terms} type:terms, field:'${cat_s}', sort:'x desc', facet:{x:'variance(${num_d})'}  } " +
-                "}"
+                " , f6:{type:terms, field:${num_d}, limit:1, sort:'x desc', facet:{x:'hll(${num_i})'}  } " +  // facet on a field that will cause hashing and exercise hll.resize on numeric field
+            "}"
         )
         , "facets=={ 'count':6, " +
             "  f1:{  'buckets':[{ val:'A', count:2, x:2.0 },  { val:'B', count:3, x:-9.0}]}" +
@@ -642,6 +643,7 @@ public class TestJsonFacets extends SolrTestCaseHS {
             ", f3:{  'buckets':[{ val:'A', count:2, x:2 },    { val:'B', count:3, x:2 }]} " +
             ", f4:{  'buckets':[{ val:'A', count:2, x:2 },    { val:'B', count:3, x:2 }]} " +
             ", f5:{  'buckets':[{ val:'B', count:3, x:74.6666666666666 },    { val:'A', count:2, x:1.0 }]} " +
+            ", f6:{  buckets:[{ val:-9.0, count:1, x:1 }]} " +
             "}"
     );