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]