zhangfengcdt commented on code in PR #6851:
URL: https://github.com/apache/datafusion-comet/pull/6851#discussion_r4260658500


##########
spark/src/test/scala/org/apache/comet/CometIcebergWriteActionSuite.scala:
##########
@@ -2172,51 +2172,74 @@ class CometIcebergWriteActionSuite
     }
   }
 
-  // https://github.com/apache/datafusion-comet/issues/6138. iceberg-rust 
compares float partition
-  // values with an equality that treats -0.0 and 0.0 as one value, so its 
writers filed both under
-  // whichever arrived first, and a read that pruned on the other value lost 
rows. iceberg-java
-  // keeps the two apart, so these writes fall back until iceberg-rust does 
too.
-  test("signed-zero float and double identity partitions match iceberg-java") {
+  // https://github.com/apache/datafusion-comet/issues/6138. iceberg-rust 
compared float partition
+  // values with an equality that treated -0.0 and 0.0 as one value, so its 
writers filed both
+  // under whichever arrived first, and a read that pruned on the other value 
lost rows. Since
+  // apache/iceberg-rust#3327 it keeps them apart and puts every NaN in one 
partition, as
+  // iceberg-java does. One shuffle partition puts every row in one task, so 
the values meet in one
+  // writer. The fanout writer gets them interleaved. The clustered writer 
gets each partition's
+  // rows together: Spark's sort ties -0.0 with 0.0, so a zero that repeats 
could come back
+  // unclustered, which iceberg-java rejects too.

Review Comment:
   Thanks, looks good to me!



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to