You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by dp...@apache.org on 2018/05/30 15:46:58 UTC
[1/2] lucene-solr:branch_7x: SOLR-12271: Fix for analytics component
reading negative values from double and float fields.
Repository: lucene-solr
Updated Branches:
refs/heads/branch_7x 1676c08b7 -> 528b96540
SOLR-12271: Fix for analytics component reading negative values from double and float fields.
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/a02876c9
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/a02876c9
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/a02876c9
Branch: refs/heads/branch_7x
Commit: a02876c9be85ceb7008d53a78a555eb14f28eb1e
Parents: 1676c08
Author: Houston Putman <hp...@bloomberg.net>
Authored: Wed Apr 25 15:05:39 2018 +0000
Committer: Dennis Gove <dp...@gmail.com>
Committed: Wed May 30 11:46:09 2018 -0400
----------------------------------------------------------------------
.../analytics/function/field/DoubleField.java | 3 +-
.../analytics/function/field/FloatField.java | 3 +-
.../field/AbstractAnalyticsFieldTest.java | 34 ++++++++++----------
3 files changed, 19 insertions(+), 21 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/a02876c9/solr/contrib/analytics/src/java/org/apache/solr/analytics/function/field/DoubleField.java
----------------------------------------------------------------------
diff --git a/solr/contrib/analytics/src/java/org/apache/solr/analytics/function/field/DoubleField.java b/solr/contrib/analytics/src/java/org/apache/solr/analytics/function/field/DoubleField.java
index 68941a4..fae26e3 100644
--- a/solr/contrib/analytics/src/java/org/apache/solr/analytics/function/field/DoubleField.java
+++ b/solr/contrib/analytics/src/java/org/apache/solr/analytics/function/field/DoubleField.java
@@ -23,7 +23,6 @@ import java.util.function.DoubleConsumer;
import org.apache.lucene.index.DocValues;
import org.apache.lucene.index.LeafReaderContext;
import org.apache.lucene.index.NumericDocValues;
-import org.apache.lucene.util.NumericUtils;
import org.apache.solr.analytics.facet.compare.ExpressionComparator;
import org.apache.solr.analytics.value.DoubleValue.CastingDoubleValue;
import org.apache.solr.schema.DoublePointField;
@@ -50,7 +49,7 @@ public class DoubleField extends AnalyticsField implements CastingDoubleValue {
public void collect(int doc) throws IOException {
exists = docValues.advanceExact(doc);
if (exists) {
- value = NumericUtils.sortableLongToDouble(docValues.longValue());
+ value = Double.longBitsToDouble(docValues.longValue());
}
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/a02876c9/solr/contrib/analytics/src/java/org/apache/solr/analytics/function/field/FloatField.java
----------------------------------------------------------------------
diff --git a/solr/contrib/analytics/src/java/org/apache/solr/analytics/function/field/FloatField.java b/solr/contrib/analytics/src/java/org/apache/solr/analytics/function/field/FloatField.java
index c382d61..82e82958 100644
--- a/solr/contrib/analytics/src/java/org/apache/solr/analytics/function/field/FloatField.java
+++ b/solr/contrib/analytics/src/java/org/apache/solr/analytics/function/field/FloatField.java
@@ -23,7 +23,6 @@ import java.util.function.DoubleConsumer;
import org.apache.lucene.index.DocValues;
import org.apache.lucene.index.LeafReaderContext;
import org.apache.lucene.index.NumericDocValues;
-import org.apache.lucene.util.NumericUtils;
import org.apache.solr.analytics.facet.compare.ExpressionComparator;
import org.apache.solr.analytics.util.function.FloatConsumer;
import org.apache.solr.analytics.value.FloatValue.CastingFloatValue;
@@ -51,7 +50,7 @@ public class FloatField extends AnalyticsField implements CastingFloatValue {
public void collect(int doc) throws IOException {
exists = docValues.advanceExact(doc);
if (exists) {
- value = NumericUtils.sortableIntToFloat((int)docValues.longValue());
+ value = Float.intBitsToFloat((int)docValues.longValue());
}
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/a02876c9/solr/contrib/analytics/src/test/org/apache/solr/analytics/function/field/AbstractAnalyticsFieldTest.java
----------------------------------------------------------------------
diff --git a/solr/contrib/analytics/src/test/org/apache/solr/analytics/function/field/AbstractAnalyticsFieldTest.java b/solr/contrib/analytics/src/test/org/apache/solr/analytics/function/field/AbstractAnalyticsFieldTest.java
index 4361dea..299d21e 100644
--- a/solr/contrib/analytics/src/test/org/apache/solr/analytics/function/field/AbstractAnalyticsFieldTest.java
+++ b/solr/contrib/analytics/src/test/org/apache/solr/analytics/function/field/AbstractAnalyticsFieldTest.java
@@ -84,11 +84,11 @@ public class AbstractAnalyticsFieldTest extends SolrTestCaseJ4 {
missingDocuments = new ArrayList<>();
- assertU(adoc("id", "-1"));
- missingDocuments.add("-1");
+ assertU(adoc("id", "-2"));
+ missingDocuments.add("-2");
assertU(adoc("id", "5"));
missingDocuments.add("5");
- for (int i = 0; i < 5; ++i) {
+ for (int i = -1; i < 5; ++i) {
assertU(adoc(
"id", "" + i,
@@ -140,17 +140,17 @@ public class AbstractAnalyticsFieldTest extends SolrTestCaseJ4 {
"double_dm_p", "" + (i + 10.5),
"double_dm_p", "" + (i + 20.5),
- "date_dt_t", "180" + i + "-12-31T23:59:59Z",
- "date_dtm_t", "180" + i + "-12-31T23:59:59Z",
- "date_dtm_t", "18" + (i + 10) + "-12-31T23:59:59Z",
- "date_dtm_t", "18" + (i + 10) + "-12-31T23:59:59Z",
- "date_dtm_t", "18" + (i + 20) + "-12-31T23:59:59Z",
+ "date_dt_t", (1800 + i) + "-12-31T23:59:59Z",
+ "date_dtm_t", (1800 + i) + "-12-31T23:59:59Z",
+ "date_dtm_t", (1800 + i + 10) + "-12-31T23:59:59Z",
+ "date_dtm_t", (1800 + i + 10) + "-12-31T23:59:59Z",
+ "date_dtm_t", (1800 + i + 20) + "-12-31T23:59:59Z",
- "date_dt_p", "180" + i + "-12-31T23:59:59Z",
- "date_dtm_p", "180" + i + "-12-31T23:59:59Z",
- "date_dtm_p", "18" + (i + 10) + "-12-31T23:59:59Z",
- "date_dtm_p", "18" + (i + 10) + "-12-31T23:59:59Z",
- "date_dtm_p", "18" + (i + 20) + "-12-31T23:59:59Z",
+ "date_dt_p", (1800 + i) + "-12-31T23:59:59Z",
+ "date_dtm_p", (1800 + i) + "-12-31T23:59:59Z",
+ "date_dtm_p", (1800 + i + 10) + "-12-31T23:59:59Z",
+ "date_dtm_p", (1800 + i + 10) + "-12-31T23:59:59Z",
+ "date_dtm_p", (1800 + i + 20) + "-12-31T23:59:59Z",
"string_s", "abc" + i,
"string_sm", "abc" + i,
@@ -192,11 +192,11 @@ public class AbstractAnalyticsFieldTest extends SolrTestCaseJ4 {
doubles.put(i + 20.5, 1);
multiDoubles.put(""+i, doubles);
- singleDates.put(""+i, Instant.parse("180" + i + "-12-31T23:59:59Z").toEpochMilli());
+ singleDates.put(""+i, Instant.parse((1800 + i) + "-12-31T23:59:59Z").toEpochMilli());
Map<Long, Integer> dates = new HashMap<>();
- dates.put(Instant.parse("180" + i + "-12-31T23:59:59Z").toEpochMilli(), 1);
- dates.put(Instant.parse("18" + ( i + 10 ) + "-12-31T23:59:59Z").toEpochMilli(), 2);
- dates.put(Instant.parse("18" + ( i + 20 ) + "-12-31T23:59:59Z").toEpochMilli(), 1);
+ dates.put(Instant.parse((1800 + i) + "-12-31T23:59:59Z").toEpochMilli(), 1);
+ dates.put(Instant.parse((1800 + i + 10) + "-12-31T23:59:59Z").toEpochMilli(), 2);
+ dates.put(Instant.parse((1800 + i + 20) + "-12-31T23:59:59Z").toEpochMilli(), 1);
multiDates.put(""+i, dates);
singleStrings.put(""+i, "abc" + i);
[2/2] lucene-solr:branch_7x: SOLR-12271: Updating changes.txt
Posted by dp...@apache.org.
SOLR-12271: Updating changes.txt
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/528b9654
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/528b9654
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/528b9654
Branch: refs/heads/branch_7x
Commit: 528b96540e4d65ff69bc4f2d6e0f78615c5e317e
Parents: a02876c
Author: Houston Putman <hp...@bloomberg.net>
Authored: Wed Apr 25 15:11:45 2018 +0000
Committer: Dennis Gove <dp...@gmail.com>
Committed: Wed May 30 11:46:25 2018 -0400
----------------------------------------------------------------------
solr/CHANGES.txt | 2 ++
1 file changed, 2 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/528b9654/solr/CHANGES.txt
----------------------------------------------------------------------
diff --git a/solr/CHANGES.txt b/solr/CHANGES.txt
index 1b8925e..dba9d90 100644
--- a/solr/CHANGES.txt
+++ b/solr/CHANGES.txt
@@ -258,6 +258,8 @@ Bug Fixes
* SOLR-12417: velocity response writer should enforce valid function name for v.json parameter (yonik)
+* SOLR-12271: Fixed bug in how Analytics component reads negative values from float and double fields. (Houston Putman)
+
Optimizations
----------------------