Skip to content

Upgrade tonic dependencies to 0.13.0 version (try 2) #7839

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

Merged
merged 8 commits into from
Jul 16, 2025

Conversation

alamb
Copy link
Contributor

@alamb alamb commented Jul 1, 2025

Which issue does this PR close?

Rationale for this change

Let's update tonic to the latest

Given the open and unresolved questions on @rmn-boiko's PR #7377 from @Xuanwo and @sundy-li, I thought a new PR would result in a faster resolution.

What changes are included in this PR?

This PR is based on #7495 from @MichaelScofield -- I resolved some merge conflicts and updated Cargo.toml in the integration tests

Are these changes tested?

Yes, by CI

Are there any user-facing changes?

New dependency version

@alamb alamb added the api-change Changes to the arrow API label Jul 1, 2025
@github-actions github-actions bot added arrow Changes to the arrow crate arrow-flight Changes to the arrow-flight crate labels Jul 1, 2025
@@ -64,7 +64,7 @@ default = []
flight-sql = ["dep:arrow-arith", "dep:arrow-data", "dep:arrow-ord", "dep:arrow-row", "dep:arrow-select", "dep:arrow-string", "dep:once_cell", "dep:paste"]
# TODO: Remove in the next release
flight-sql-experimental = ["flight-sql"]
tls = ["tonic/tls"]
tls = ["tonic/tls-ring"]
Copy link
Contributor Author

Choose a reason for hiding this comment

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

I am not sure what the implications of this change are. @Xuanwo or @sundy-li can you help me figure out if this is the right solution or not?

Copy link
Contributor

@carols10cents carols10cents Jul 3, 2025

Choose a reason for hiding this comment

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

I think if you add this, then users won't be able to choose "tonic/tls-aws-lc" because they're mutually exclusive nevermind, this is off by default. This would just be inconsistent and possibly confusing to only have a feature that turns on tonic/tls-ring but not tonic/tls-aws-lc, and someone using tonic/tls-aws-lc might go to turn on arrow-flight/tls and have a bad time.

So either arrow-flight should add:

tls-ring = ["tonic/tls-ring"]
tls-aws-lc = ["tonic/tls-aws-lc"]

or it should add nothing and assume feature unification from the user of arrow-flight also using tonic and configuring the feature with their use of tonic will take care of it.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I think adding nothing makes the most sense to me -- and let the user choose with their own feature. I will remove it

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Actually, I see there are examples and binaries that want tls

warning: invalid feature tls in required-features of target flight_sql_client: tls is not present in [features] section

I will then follow the pattern and rename the tls flags to match tonic

@alamb
Copy link
Contributor Author

alamb commented Jul 10, 2025

@Xuanwo or @sundy-li or @carols10cents or @rmn-boiko or @MichaelScofield -- can someone let me know if this PR looks ok to you / would work in your use cases?

@@ -814,7 +814,7 @@ mod tests {
async fn bind_tcp() -> (TcpIncoming, SocketAddr) {
let listener = TcpListener::bind("0.0.0.0:0").await.unwrap();
let addr = listener.local_addr().unwrap();
let incoming = TcpIncoming::from_listener(listener, true, None).unwrap();
let incoming = TcpIncoming::from(listener);
Copy link
Contributor

Choose a reason for hiding this comment

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

Previously the TcpIncoming in tonic 0.12 the nodelay was explicitly set to true; however, here the default is None. Maybe it's better to align the behavior.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Thank you -- I fixed in f81914a

@alamb
Copy link
Contributor Author

alamb commented Jul 16, 2025

Let's just get this one in

Thanks again @mbrobbel and @MichaelScofield

@alamb alamb merged commit 7b7aad2 into apache:main Jul 16, 2025
35 of 36 checks passed
@alamb alamb deleted the alamb/update_tonic_flight branch July 16, 2025 17:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
api-change Changes to the arrow API arrow Changes to the arrow crate arrow-flight Changes to the arrow-flight crate
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy