Latest Results
fix(array): don't panic on unsupported arrow types (#8564)
## Summary
`DType::from_arrow` hit the `unimplemented!` fallback arm for
unsupported Arrow types (`Duration`, `Interval`, `FixedSizeBinary`),
which surfaced in Python as a `PanicException` instead of a clean error.
I added a fallible `TryFromArrowType` conversion that returns a
`VortexError` on that arm, kept the infallible `FromArrowType` as a thin
delegate for existing trusted callers, and routed the `ArrowSession`
leaf path and the Python entry points through it so unsupported types
raise a clean `ValueError`.
The error keeps the `not supported` marker so it lands in the fuzzer's
existing unsupported-type skip path; the `Duration`/`FixedSizeBinary`
generation exclusions can be lifted once the fuzzer is on `develop`.
Closes: #8346
## Testing
Added an rstest in `vortex-array/src/dtype/arrow.rs` checking
`Duration`/`Interval`/`FixedSizeBinary` error cleanly as a leaf and
nested in a field/schema, plus a parametrized regression test in
`vortex-python/test/test_array.py` for the issue's repro; both of the
issue's Python snippets now raise `ValueError` instead of panicking.
`cargo nextest run -p vortex-array` (3060 tests) and `uv run
--all-packages pytest vortex-python/test/test_array.py` pass; `fmt
--all`, `clippy --all-targets --all-features`, `cargo doc`,
`basedpyright` and `ruff` are clean.
---
I'm Korean, so sorry if any wording reads a little awkward.
Signed-off-by: Han Damin <miniex@daminstudio.net> Latest Branches
+6%
adamg/support-settings-config-session +16%
ngates/selection-index-sortedness -36%
ngates/fsst-like-pushdown © 2026 CodSpeed Technology