pchintar commented on PR #9778:
URL: https://github.com/apache/arrow-rs/pull/9778#issuecomment-4316139031
@alamb — quick update.
The integration failure was isolated to the `Union` path. After checking,
there are only 2 `ScalarBuffer<...>` conversions in `arrow-ipc/src/reader.rs`,
both inside the `Union(fields, mode)` branch, and these bypass the usual
`align_buffers` handling.
The issue was specifically with dense union offsets (`i32`) being
constructed directly from the buffer:
```rust
self.next_buffer()?.slice_with_length(...).into()
```
I’ve fixed this by ensuring alignment only for that specific case before
converting to `ScalarBuffer<i32>`:
```rust
let offsets_buffer =
ensure_aligned_for::<i32>(self.next_buffer()?.slice_with_length(...));
let offsets: ScalarBuffer<i32> = offsets_buffer.into();
```
Now all the CI checks have passed without impacting the benchmark
improvements 👍
--
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]