-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
fix: flight examples #9335
fix: flight examples #9335
Conversation
Tonic 0.10 and 0.11 are not API compatible. Arrow 50 depends on tonic 0.10, and datafusion must match that dependency for compatibility reasons.
cargo run --example doesn't support nested examples. Nested examples need an explicit block to be runnable.
@@ -54,6 +78,6 @@ serde = { version = "1.0.136", features = ["derive"] } | |||
serde_json = { workspace = true } | |||
tempfile = { workspace = true } | |||
tokio = { workspace = true, features = ["rt-multi-thread", "parking_lot"] } | |||
tonic = "0.11" |
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.
is this change related?
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.
I tried to capture this in the issue:
There is an API incompatibility between tonic 0.10 and 0.11. We have 0.10 as a transitive dependency of arrow-flight, and datafusion-examples pulls in 0.11 directly. As a result the flight examples won't compile.
If that's not clear, I'm happy to clarify further.
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.
Makes sense, thanks for this
Do we run (or at least build) these examples as part of the CI? Since if so that should've prevented the bump in the first place: #9176
arrow-flight will have tonic version 0.11
in it's next release as it was also bumped: apache/arrow-rs#5380
So we can downgrade for now until arrow 51.0.0
is released
I wondered about that, too. The flight examples were excluded in this refactor, presumably because the server examples run indefinitely and the client example needs a server to connect to. We could add a
My thoughts, exactly. 👍 |
Is it worth adding a short comment above the tonic dependency explaining the situation? Might help whoever upgrades arrow understand how to resolve the tonic incompatibility more quickly. |
I went ahead and added the CI check and comment. Happy to adjust as needed. |
a504acc
to
e91be8d
Compare
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.
lgtm thanks @codonnell
Which issue does this PR close?
Closes #9334.
Rationale for this change
It allows the arrow flight examples to compile and makes all nested examples runnable.
What changes are included in this PR?
This PR downgrades the
tonic
dependency to0.10
to matcharrow-flight
and adds explicit[[example]]
blocks so nested examples can be run withcargo run --example
.Are these changes tested?
I verified locally that the arrow flight examples compile with this change, and I was able to run queries with JDBC against the
arrow_flight_sql
example.Are there any user-facing changes?
No, just example fixes.