Skip to content
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

Port codegen arrow deserialization to arrow-rs #8375

Merged
merged 12 commits into from
Jan 7, 2025
Merged

Conversation

emilk
Copy link
Member

@emilk emilk commented Dec 9, 2024

@emilk emilk added 🏹 arrow concerning arrow 🚜 refactor Change the code, not the functionality codegen/idl exclude from changelog PRs with this won't show up in CHANGELOG.md labels Dec 9, 2024
Copy link

github-actions bot commented Dec 9, 2024

Web viewer built successfully. If applicable, you should also test it:

  • I have tested the web viewer
Result Commit Link Manifest
77e4543 https://rerun.io/viewer/pr/8375 +nightly +main

Note: This comment is updated whenever you push a commit.

@emilk emilk marked this pull request as draft December 9, 2024 20:10
@emilk emilk changed the title Add ZipValidity Port codegen arrow deserializtion to arrow-rs Dec 9, 2024
@emilk emilk force-pushed the emilk/arrow-deserializer branch 2 times, most recently from f84e718 to 3e792d2 Compare December 18, 2024 16:05
@emilk emilk marked this pull request as ready for review December 19, 2024 09:53
@emilk
Copy link
Member Author

emilk commented Dec 19, 2024

@rerun-bot full-check

Copy link

Started a full build: https://github.com/rerun-io/rerun/actions/runs/12410292950

@abey79 abey79 changed the title Port codegen arrow deserializtion to arrow-rs Port codegen arrow deserialization to arrow-rs Dec 19, 2024
@teh-cmc
Copy link
Member

teh-cmc commented Dec 19, 2024

Heads up: full check is failing

@emilk emilk marked this pull request as draft December 19, 2024 12:18
@emilk emilk force-pushed the emilk/arrow-deserializer branch from 10d58b6 to 478e038 Compare January 6, 2025 11:54
@emilk emilk force-pushed the emilk/arrow-deserializer branch from 478e038 to 9c5fd70 Compare January 6, 2025 14:02
@rerun-io rerun-io deleted a comment from github-actions bot Jan 6, 2025
@emilk
Copy link
Member Author

emilk commented Jan 6, 2025

@rerun-bot full-check

Copy link

github-actions bot commented Jan 6, 2025

Started a full build: https://github.com/rerun-io/rerun/actions/runs/12634086171

@emilk emilk marked this pull request as ready for review January 6, 2025 14:56
@emilk emilk force-pushed the emilk/arrow-deserializer branch from 25ee716 to 77e4543 Compare January 6, 2025 20:57
@rerun-io rerun-io deleted a comment from github-actions bot Jan 6, 2025
Comment on lines +351 to +360
// `.child()` will panic if the given `type_id` doesn't exist,
// which could happen if the number of union arms has changed
// between serialization and deserialization.
// There is no simple way to check for this using `arrow-rs`
// (no access to `UnionArray::fields` as of arrow 54:
// https://docs.rs/arrow/latest/arrow/array/struct.UnionArray.html)
//
// Still, we're planning on removing arrow unions entirely, so this is… fine.
// TODO(#6388): stop using arrow unions, and remove this peril
let #data_src = #data_src.child(#type_id).as_ref();
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why not keep the existing if-statement that helped with forward compat though?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There was no obvious way how to make it work. There is no data_src_arrays anymore because there is no .fields() on UnionArray

@emilk emilk merged commit 097bc60 into main Jan 7, 2025
31 checks passed
@emilk emilk deleted the emilk/arrow-deserializer branch January 7, 2025 08:43
emilk added a commit that referenced this pull request Jan 7, 2025
### Related
* Part of #3741
* Waiting for #8375


### What
Port our re_types roundtrip tests from arrow1 to arrow2
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🏹 arrow concerning arrow codegen/idl exclude from changelog PRs with this won't show up in CHANGELOG.md 🚜 refactor Change the code, not the functionality
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants