Skip to content

Commit 741bbf6

Browse files
authored
bump tonic to 0.12 and prost to 0.13 for arrow-flight (#6041)
* bump `tonic` to 0.12 and `prost` to 0.13 for `arrow-flight` Signed-off-by: Bugen Zhao <[email protected]> * fix example tests Signed-off-by: Bugen Zhao <[email protected]> --------- Signed-off-by: Bugen Zhao <[email protected]>
1 parent 66390ff commit 741bbf6

File tree

7 files changed

+38
-67
lines changed

7 files changed

+38
-67
lines changed

arrow-flight/Cargo.toml

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -44,11 +44,11 @@ bytes = { version = "1", default-features = false }
4444
futures = { version = "0.3", default-features = false, features = ["alloc"] }
4545
once_cell = { version = "1", optional = true }
4646
paste = { version = "1.0" }
47-
prost = { version = "0.12.3", default-features = false, features = ["prost-derive"] }
47+
prost = { version = "0.13.1", default-features = false, features = ["prost-derive"] }
4848
# For Timestamp type
49-
prost-types = { version = "0.12.3", default-features = false }
49+
prost-types = { version = "0.13.1", default-features = false }
5050
tokio = { version = "1.0", default-features = false, features = ["macros", "rt", "rt-multi-thread"] }
51-
tonic = { version = "0.11.0", default-features = false, features = ["transport", "codegen", "prost"] }
51+
tonic = { version = "0.12.0", default-features = false, features = ["transport", "codegen", "prost"] }
5252

5353
# CLI-related dependencies
5454
anyhow = { version = "1.0", optional = true }
@@ -70,8 +70,9 @@ cli = ["anyhow", "arrow-cast/prettyprint", "clap", "tracing-log", "tracing-subsc
7070
[dev-dependencies]
7171
arrow-cast = { workspace = true, features = ["prettyprint"] }
7272
assert_cmd = "2.0.8"
73-
http = "0.2.9"
74-
http-body = "0.4.5"
73+
http = "1.1.0"
74+
http-body = "1.0.0"
75+
hyper-util = "0.1"
7576
pin-project-lite = "0.2"
7677
tempfile = "3.3"
7778
tokio-stream = { version = "0.1", features = ["net"] }

arrow-flight/examples/flight_sql_server.rs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -783,7 +783,8 @@ impl ProstMessageExt for FetchResults {
783783
#[cfg(test)]
784784
mod tests {
785785
use super::*;
786-
use futures::TryStreamExt;
786+
use futures::{TryFutureExt, TryStreamExt};
787+
use hyper_util::rt::TokioIo;
787788
use std::fs;
788789
use std::future::Future;
789790
use std::net::SocketAddr;
@@ -843,7 +844,8 @@ mod tests {
843844
.serve_with_incoming(stream);
844845

845846
let request_future = async {
846-
let connector = service_fn(move |_| UnixStream::connect(path.clone()));
847+
let connector =
848+
service_fn(move |_| UnixStream::connect(path.clone()).map_ok(TokioIo::new));
847849
let channel = Endpoint::try_from("http://example.com")
848850
.unwrap()
849851
.connect_with_connector(connector)

arrow-flight/gen/Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,5 +33,5 @@ publish = false
3333
# Pin specific version of the tonic-build dependencies to avoid auto-generated
3434
# (and checked in) arrow.flight.protocol.rs from changing
3535
proc-macro2 = { version = "=1.0.86", default-features = false }
36-
prost-build = { version = "=0.12.6", default-features = false }
37-
tonic-build = { version = "=0.11.0", default-features = false, features = ["transport", "prost"] }
36+
prost-build = { version = "=0.13.1", default-features = false }
37+
tonic-build = { version = "=0.12.0", default-features = false, features = ["transport", "prost"] }

arrow-flight/src/arrow.flight.protocol.rs

Lines changed: 8 additions & 28 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

arrow-flight/src/sql/arrow.flight.protocol.sql.rs

Lines changed: 6 additions & 6 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

arrow-flight/tests/common/trailers_layer.rs

Lines changed: 10 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ use std::task::{Context, Poll};
2121

2222
use futures::ready;
2323
use http::{HeaderValue, Request, Response};
24-
use http_body::SizeHint;
24+
use http_body::{Frame, SizeHint};
2525
use pin_project_lite::pin_project;
2626
use tower::{Layer, Service};
2727

@@ -99,31 +99,19 @@ impl<B: http_body::Body> http_body::Body for WrappedBody<B> {
9999
type Data = B::Data;
100100
type Error = B::Error;
101101

102-
fn poll_data(
103-
mut self: Pin<&mut Self>,
102+
fn poll_frame(
103+
self: Pin<&mut Self>,
104104
cx: &mut Context<'_>,
105-
) -> Poll<Option<Result<Self::Data, Self::Error>>> {
106-
self.as_mut().project().inner.poll_data(cx)
107-
}
108-
109-
fn poll_trailers(
110-
mut self: Pin<&mut Self>,
111-
cx: &mut Context<'_>,
112-
) -> Poll<Result<Option<http::header::HeaderMap>, Self::Error>> {
113-
let result: Result<Option<http::header::HeaderMap>, Self::Error> =
114-
ready!(self.as_mut().project().inner.poll_trailers(cx));
115-
116-
let mut trailers = http::header::HeaderMap::new();
117-
trailers.insert("test-trailer", HeaderValue::from_static("trailer_val"));
105+
) -> Poll<Option<Result<Frame<Self::Data>, Self::Error>>> {
106+
let mut result = ready!(self.project().inner.poll_frame(cx));
118107

119-
match result {
120-
Ok(Some(mut existing)) => {
121-
existing.extend(trailers.iter().map(|(k, v)| (k.clone(), v.clone())));
122-
Poll::Ready(Ok(Some(existing)))
108+
if let Some(Ok(frame)) = &mut result {
109+
if let Some(trailers) = frame.trailers_mut() {
110+
trailers.insert("test-trailer", HeaderValue::from_static("trailer_val"));
123111
}
124-
Ok(None) => Poll::Ready(Ok(Some(trailers))),
125-
Err(e) => Poll::Ready(Err(e)),
126112
}
113+
114+
Poll::Ready(result)
127115
}
128116

129117
fn is_end_stream(&self) -> bool {

arrow-integration-testing/Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,11 +42,11 @@ async-trait = { version = "0.1.41", default-features = false }
4242
clap = { version = "4", default-features = false, features = ["std", "derive", "help", "error-context", "usage"] }
4343
futures = { version = "0.3", default-features = false }
4444
hex = { version = "0.4", default-features = false, features = ["std"] }
45-
prost = { version = "0.12", default-features = false }
45+
prost = { version = "0.13", default-features = false }
4646
serde = { version = "1.0", default-features = false, features = ["rc", "derive"] }
4747
serde_json = { version = "1.0", default-features = false, features = ["std"] }
4848
tokio = { version = "1.0", default-features = false }
49-
tonic = { version = "0.11", default-features = false }
49+
tonic = { version = "0.12", default-features = false }
5050
tracing-subscriber = { version = "0.3.1", default-features = false, features = ["fmt"], optional = true }
5151
num = { version = "0.4", default-features = false, features = ["std"] }
5252
flate2 = { version = "1", default-features = false, features = ["rust_backend"] }

0 commit comments

Comments
 (0)