This is an automated email from the ASF dual-hosted git repository.
nkollar pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/avro.git
The following commit(s) were added to refs/heads/main by this push:
new b8a3655fef AVRO-4110: Double Values Fail when using Min/Max (#3292)
b8a3655fef is described below
commit b8a3655fef9901e3d043e830f6ff6fb5f543fda7
Author: rdifrango <[email protected]>
AuthorDate: Fri May 30 10:18:35 2025 -0400
AVRO-4110: Double Values Fail when using Min/Max (#3292)
---
.../main/java/org/apache/avro/generic/PrimitivesArrays.java | 2 +-
.../java/org/apache/avro/generic/PrimitivesArraysTest.java | 13 +++++++++++++
2 files changed, 14 insertions(+), 1 deletion(-)
diff --git
a/lang/java/avro/src/main/java/org/apache/avro/generic/PrimitivesArrays.java
b/lang/java/avro/src/main/java/org/apache/avro/generic/PrimitivesArrays.java
index 56423a7fe3..d23d46ae9e 100644
--- a/lang/java/avro/src/main/java/org/apache/avro/generic/PrimitivesArrays.java
+++ b/lang/java/avro/src/main/java/org/apache/avro/generic/PrimitivesArrays.java
@@ -623,7 +623,7 @@ public class PrimitivesArrays {
if (o == null) {
return null;
}
- return this.set(i, o.floatValue());
+ return this.set(i, o.doubleValue());
}
public double set(int i, double o) {
diff --git
a/lang/java/avro/src/test/java/org/apache/avro/generic/PrimitivesArraysTest.java
b/lang/java/avro/src/test/java/org/apache/avro/generic/PrimitivesArraysTest.java
index c801168c04..1043504558 100644
---
a/lang/java/avro/src/test/java/org/apache/avro/generic/PrimitivesArraysTest.java
+++
b/lang/java/avro/src/test/java/org/apache/avro/generic/PrimitivesArraysTest.java
@@ -276,6 +276,19 @@ class PrimitivesArraysTest {
for (int i = 1; i <= 100; i++) {
Assertions.assertEquals((101 - i) * 3.0d, doubleArray.get(i - 1));
}
+
+ doubleArray.add(Double.MAX_VALUE);
+ doubleArray.add(Double.MIN_VALUE);
+ Assertions.assertEquals(102, doubleArray.size());
+ Assertions.assertEquals(Double.MAX_VALUE, doubleArray.get(100));
+ Assertions.assertEquals(Double.MIN_VALUE, doubleArray.get(101));
+
+ // Flip the positions to make sure they still work
+ doubleArray.set(101, Double.MAX_VALUE);
+ doubleArray.set(100, Double.MIN_VALUE);
+ Assertions.assertEquals(102, doubleArray.size());
+ Assertions.assertEquals(Double.MAX_VALUE, doubleArray.get(101));
+ Assertions.assertEquals(Double.MIN_VALUE, doubleArray.get(100));
}
@Test