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]

Reply via email to