-
Notifications
You must be signed in to change notification settings - Fork 796
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support Arrow IPC Big Endian / Cross Endian #3459
Labels
Comments
alamb
added
the
enhancement
Any new improvement worthy of a entry in the changelog
label
Jan 5, 2023
alamb
changed the title
Big Endian Arrow IPC
Support Arrow IPC Big Endian / Cross Endian
Jan 5, 2023
pangiole
added a commit
to pangiole/arrow-rs
that referenced
this issue
Jan 13, 2024
This commit implements the Byte Order (Endianness) recommendations we could read from the Apache Arrow official specification (quoted here): > _"At first we will return an error when trying to read a Schema > with an endianness that does not match the underlying system."_ Resolves: apache#3459
pangiole
added a commit
to pangiole/arrow-rs
that referenced
this issue
Jan 13, 2024
This commit implements the Byte Order (Endianness) recommendations we could read from the Apache Arrow official specification (quoted here): > _"At first we will return an error when trying to read a Schema > with an endianness that does not match the underlying system."_ Resolves: apache#3459
pangiole
added a commit
to pangiole/arrow-rs
that referenced
this issue
Jan 14, 2024
This commit implements the Byte Order (Endianness) recommendations we could read from the Apache Arrow official specification (quoted here): > _"At first we will return an error when trying to read a Schema > with an endianness that does not match the underlying system."_ Resolves: apache#3459
tustvold
pushed a commit
that referenced
this issue
Jan 15, 2024
This commit implements the Byte Order (Endianness) recommendations we could read from the Apache Arrow official specification (quoted here): > _"At first we will return an error when trying to read a Schema > with an endianness that does not match the underlying system."_ Resolves: #3459
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
Is your feature request related to a problem or challenge? Please describe what you are trying to do.
The arrow-rs Arrow IPC implementation is tested thorougly on little endian platforms and works well 👍
However, it is not clear how well it will work on big endian systems and I don't think we have automated test coverage for that yet.
After #3427, it is quite clear that the arrow-rs support will not work well when the IPC stream is a different endianness to the host platform.
However I am not sure that it actually important to test and support cross endianness given the spec says
https://arrow.apache.org/docs/format/Columnar.html#byte-order-endianness
Currently the arrow-rs IPC reader does not attempt to convert endianess of the ipc streams, nor does it (always) error out when that endianess is different. It will error in some cases (like dictionaries #859 and Decimal arrays)
Describe the solution you'd like
I suggest throwing an error when source/target endianess is not the same to make it clear this is not supported
Then we can plan out such support if/when we ever want
The integration tests could offer a good starting point (there are bigendian files and the CI on github runs on little endian runners x86_64).
Describe alternatives you've considered
N/A
Additional context
Found while working on #3427
The text was updated successfully, but these errors were encountered: