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

Reply via email to