k8ika0s commented on PR #48209:
URL: https://github.com/apache/arrow/pull/48209#issuecomment-3568396193

   @Vishwanatha-HD 
   
   One thing I noticed in the INT96 helpers is that the write path here keeps 
the limbs in host order on BE. That can definitely work, though the thing I ran 
into on s390x is that callers downstream (decoders, page stats, and 
FormatStatValue) often assume INT96 is stored in a consistent LE layout 
regardless of host. When the value arrives in native order instead, those 
helpers sometimes reconstruct days/nanos differently across architectures.
   
   On the decode side, the arithmetic around `days_since_epoch` and the nanos 
split makes sense, but it might still surface small cross-host differences if 
the limbs weren’t normalized first. That’s where I ended up relying on 
`FromLittleEndian` before doing the conversion math.
   
   The stats formatting changes here also caught my eye. Integral paths now 
swap on BE, which lines up with what I’ve observed. On floats, though, 
FormatNumericValue tends to expose host-order bytes unless the limbs were 
normalized earlier in the pipeline. Just mentioning it because stats 
comparisons have been one of the more “quirky” areas on BE.
   
   None of this is blocking feedback — mostly sharing observations from 
hardware testing, in case any of it helps stress-test these code paths further. 
Happy to compare outputs if it’d be useful.
   


-- 
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