badalprasadsingh opened a new issue, #1847:
URL: https://github.com/apache/iceberg-go/issues/1847

   ### Apache Iceberg version
   
   main (development)
   
   ### Please describe the bug 🐞
   
   Right now, `dataFile.convertAvroValueToIcebergType` asserts `v.(int64)` 
unchecked on every time and timestamp arm. Per the Avro spec, `twmb/avro` 
ignores a logical type invalid for its underlying Avro type and decodes the raw 
primitive - but the parsed schema still reports the `logicalType`.
   
   Reading such a manifest panics. `Partition()` returns no error, so callers 
cannot recover.
   ```bash
   panic: interface conversion: interface {} is int32, not int64
        iceberg-go.(*dataFile).convertAvroValueToIcebergType(manifest.go:2316)
        iceberg-go.(*dataFile).Partition(manifest.go:2370)
   ```
   
   Separately, `time-millis` and `timestamp-millis` are returned as 
milliseconds, though `iceberg.Time` and `iceberg.Timestamp` count microseconds 
: 1000× too small, silently corrupting partition filtering.
   
   Reachable only via manifests from foreign writers.
   
   ### Status
   Currently short on bandwidth to raise a PR for this fix. Contributions are 
welcome.


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