You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
DType::from_arrow panics with unimplemented! for Duration, Interval and FixedSizeBinary instead of returning an error #8346
Found by the Python API Hypothesis fuzzer (vortex-python/test/test_fuzz_file_roundtrip.py).
DType::from_arrow hits the unimplemented!() fallback arm in vortex-array/src/dtype/arrow.rs for unsupported Arrow types, which surfaces in Python as a pyo3_runtime.PanicException instead of a clean ValueError.
importpyarrowaspaimportvortexasvxvx.array(pa.table({"c0": pa.array([1, 2], type=pa.duration("us"))}))
# pyo3_runtime.PanicException: not implemented: Arrow data type not yet supported: Duration(Microsecond)vx.array(pa.table({"c0": pa.array([b"abc"], type=pa.binary(3))}))
# pyo3_runtime.PanicException: not implemented: Arrow data type not yet supported: FixedSizeBinary(3)
The fallback arm should return a VortexError (e.g. via a TryFrom-style conversion) so unsupported types fail cleanly. The fuzzer currently excludes Duration and FixedSizeBinary from generation; once this is fixed, those exclusions can be lifted and the clean error will be routed to the existing unsupported-type skip path.
Activity
fix(array): don't panic on unsupported arrow types (#8564)