kawadakk opened a new issue, #9263: URL: https://github.com/apache/arrow-rs/issues/9263
**Describe the bug** `RowConverter::append` panics when union fields have non-default type IDs. **To Reproduce** Update [`arrow_row::tests::test_row_converter_roundtrip_with_one_union_column`](https://github.com/apache/arrow-rs/blob/096751f04960513089bc4124fd14d8a78d10b697/arrow-row/src/lib.rs#L4316) as follows: ```diff @@ -4317,3 +4317,3 @@ mod tests { let fields = UnionFields::try_new( - vec![0, 1], + vec![70, 1], vec![ @@ -4327,3 +4327,3 @@ mod tests { let string_array = StringArray::from(vec![None::<&str>, Some("hello")]); - let type_ids = vec![0i8, 1].into(); + let type_ids = vec![70i8, 1].into(); ``` ```console $ cargo test -p arrow-row test_row_converter_roundtrip_with_one_union_column Finished `test` profile [unoptimized + debuginfo] target(s) in 0.04s Running unittests src/lib.rs (target/debug/deps/arrow_row-cab30e58e5bacbe0) running 1 test test tests::test_row_converter_roundtrip_with_one_union_column ... FAILED failures: ---- tests::test_row_converter_roundtrip_with_one_union_column stdout ---- thread 'tests::test_row_converter_roundtrip_with_one_union_column' (562579) panicked at arrow-array/src/array/union_array.rs:253:24: invalid type id stack backtrace: 0: __rustc::rust_begin_unwind at /rustc/ed61e7d7e242494fb7057f2657300d9e77bb4fcb/library/std/src/panicking.rs:698:5 1: core::panicking::panic_fmt at /rustc/ed61e7d7e242494fb7057f2657300d9e77bb4fcb/library/core/src/panicking.rs:75:14 2: core::panicking::panic_display at /rustc/ed61e7d7e242494fb7057f2657300d9e77bb4fcb/library/core/src/panicking.rs:259:5 3: core::option::expect_failed at /rustc/ed61e7d7e242494fb7057f2657300d9e77bb4fcb/library/core/src/option.rs:2178:5 4: core::option::Option<T>::expect at /rustc/ed61e7d7e242494fb7057f2657300d9e77bb4fcb/library/core/src/option.rs:965:21 5: arrow_array::array::union_array::UnionArray::child at .../arrow-rs/arrow-array/src/array/union_array.rs:253:24 6: arrow_row::Codec::encoder at ./src/lib.rs:681:51 7: arrow_row::RowConverter::append::{{closure}} at ./src/lib.rs:879:23 8: core::iter::adapters::map::map_try_fold::{{closure}} at /rustc/ed61e7d7e242494fb7057f2657300d9e77bb4fcb/library/core/src/iter/adapters/map.rs:95:28 9: core::iter::traits::iterator::Iterator::try_fold at /rustc/ed61e7d7e242494fb7057f2657300d9e77bb4fcb/library/core/src/iter/traits/iterator.rs:2426:21 10: <core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::try_fold at /rustc/ed61e7d7e242494fb7057f2657300d9e77bb4fcb/library/core/src/iter/adapters/map.rs:121:19 11: <core::iter::adapters::GenericShunt<I,R> as core::iter::traits::iterator::Iterator>::try_fold at /rustc/ed61e7d7e242494fb7057f2657300d9e77bb4fcb/library/core/src/iter/adapters/mod.rs:192:14 12: core::iter::traits::iterator::Iterator::try_for_each at /rustc/ed61e7d7e242494fb7057f2657300d9e77bb4fcb/library/core/src/iter/traits/iterator.rs:2487:14 13: <core::iter::adapters::GenericShunt<I,R> as core::iter::traits::iterator::Iterator>::next at /rustc/ed61e7d7e242494fb7057f2657300d9e77bb4fcb/library/core/src/iter/adapters/mod.rs:174:14 14: <alloc::vec::Vec<T> as alloc::vec::spec_from_iter_nested::SpecFromIterNested<T,I>>::from_iter at /rustc/ed61e7d7e242494fb7057f2657300d9e77bb4fcb/library/alloc/src/vec/spec_from_iter_nested.rs:25:41 15: <alloc::vec::Vec<T> as alloc::vec::spec_from_iter::SpecFromIter<T,I>>::from_iter at /rustc/ed61e7d7e242494fb7057f2657300d9e77bb4fcb/library/alloc/src/vec/spec_from_iter.rs:34:9 16: <alloc::vec::Vec<T> as core::iter::traits::collect::FromIterator<T>>::from_iter at /rustc/ed61e7d7e242494fb7057f2657300d9e77bb4fcb/library/alloc/src/vec/mod.rs:3683:9 17: core::iter::traits::iterator::Iterator::collect at /rustc/ed61e7d7e242494fb7057f2657300d9e77bb4fcb/library/core/src/iter/traits/iterator.rs:2027:9 18: <core::result::Result<V,E> as core::iter::traits::collect::FromIterator<core::result::Result<A,E>>>::from_iter::{{closure}} at /rustc/ed61e7d7e242494fb7057f2657300d9e77bb4fcb/library/core/src/result.rs:2144:51 19: core::iter::adapters::try_process at /rustc/ed61e7d7e242494fb7057f2657300d9e77bb4fcb/library/core/src/iter/adapters/mod.rs:160:17 20: <core::result::Result<V,E> as core::iter::traits::collect::FromIterator<core::result::Result<A,E>>>::from_iter at /rustc/ed61e7d7e242494fb7057f2657300d9e77bb4fcb/library/core/src/result.rs:2144:9 21: core::iter::traits::iterator::Iterator::collect at /rustc/ed61e7d7e242494fb7057f2657300d9e77bb4fcb/library/core/src/iter/traits/iterator.rs:2027:9 22: arrow_row::RowConverter::append at ./src/lib.rs:881:14 23: arrow_row::RowConverter::convert_columns at ./src/lib.rs:810:14 24: arrow_row::tests::test_row_converter_roundtrip_with_one_union_column at ./src/lib.rs:4346:14 25: arrow_row::tests::test_row_converter_roundtrip_with_one_union_column::{{closure}} at ./src/lib.rs:4316:60 26: core::ops::function::FnOnce::call_once at /rustc/ed61e7d7e242494fb7057f2657300d9e77bb4fcb/library/core/src/ops/function.rs:250:5 27: core::ops::function::FnOnce::call_once at /rustc/ed61e7d7e242494fb7057f2657300d9e77bb4fcb/library/core/src/ops/function.rs:250:5 note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace. failures: tests::test_row_converter_roundtrip_with_one_union_column test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 60 filtered out; finished in 0.02s error: test failed, to rerun pass `-p arrow-row --lib` ``` **Expected behavior** Successful test run **Additional context** <!-- Add any other context about the problem here. --> -- 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]
