hareshkh opened a new issue, #3409:
URL: https://github.com/apache/iceberg-rust/issues/3409

   ### Apache Iceberg Rust version
   
   0.10.0
   
   ### Describe the bug
   
   JSON round-trips reject valid float partition values such as `123.456` 
because of an absolute `f32::EPSILON` check. `NaN` and `±Infinity` silently 
become `null` for both float and double partitions, allowing incorrect metadata 
to be committed.
   
   ### To Reproduce
   
   1. Take test_insert_into_partitioned from [datafusion-iceberg PR 
#54](https://github.com/apache/datafusion-iceberg/pull/54) and run it against 
the PR’s base commit, which still uses the JSON helpers.
   2. Use 100.1 for the finite float partition value. The insert fails with 
Unable to convert raw literal (double) fail convert to type float.
   3. Change it to 1.5, keeping the NaN, Infinity, and -Infinity rows. The 
insert succeeds, but inspecting the committed manifest shows null for those 
three partition values. File and row counts still look correct.
   4. Repeat with a double partition column: non-finite values also silently 
become null.
   
   ### Expected behavior
   
   Preserve valid partition values. Reject unsupported values explicitly 
instead of silently converting them to null.
   
   ### Willingness to contribute
   
   None


-- 
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