-
Notifications
You must be signed in to change notification settings - Fork 4k
ARROW-9608: [Rust] Leaner feature gating for arrow in parquet #7873
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
ARROW-9608: [Rust] Leaner feature gating for arrow in parquet #7873
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
FYI @andygrove @nevi-me @paddyhoran I've tested this change in our project using Rust Arrow
rust/parquet/Cargo.toml
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
hmm, does this mean we're removing arrow dependency from tests as well?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yes, because it is already a dependency in arrow.rs, using super::*; export in test modules will make it use the actual dependency exports of the arrow (which has been done already seems like). Tests had passed locally with no change and it passed here. I see it as good improvement tbh :)
|
I really want to merge this PR to get rid of flight and it's dependencies while compiling parquet. My local tests and usage of this version didn't cause any problems and tests were passing. I don't know what is failing at CI at |
|
@vertexclique No, we'll need to fix the regression in the test caused by this change. I can help fix it. I'll look into it later today. |
|
I had a general question ... it seems inverted that arrow depends on flight. I wonder if we have the dependency the wrong way around? |
|
Parquet crate is using arrow's default features which are
Sorry, might be I am quite a bit tired, but I didn't understand the inversion part. |
|
@vertexclique I will need to look at the code again but I don't see why arrrow would depend on a protocol. I think the protocl should depend on arrow. The core arrow crate should have as few dependencies as possible, IMO. Same goes for Parquet. Not everyone will be buiding distributed systems that require the protocol. |
|
@andygrove Exactly! This is the problem we are having with the default feature gating scheme that arrow has, which scattered to arrow dependant crates. |
|
@andygrove hold on I will open a pr for that too :) |
|
@vertexclique I already did, but happy to take yours too. |
84ae452 to
702398b
Compare
|
@andygrove Rebased. Looking out for the CI atm. |
|
@vertexclique Just checking in on status. The PR has been idle for a while now. Should we close it? |
|
@vertexclique I'm closing this for now. Feel free to re-open if this is something that you are still working on. |
|
@andygrove sorry for the radio silence I was on vacation. Iirc this is not needed anymore. Since we have pruned dependency tree to be leaner. Thanks! |
Currently, the parquet is installing arrow-flight and it's dependencies, which breaks the CI builds and it's unnecessary because it is not used. Parquet should work without default features of
arrowby default. Simple PR will enable building it leaner.