Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
93 changes: 61 additions & 32 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 4 additions & 4 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -199,10 +199,10 @@ tokio-stream = { version = "0.1.18", default-features = false }
tokio-test = "0.4.5"
tokio-tungstenite = { version = "0.20.1", default-features = false }
toml = { version = "0.9.8", default-features = false, features = ["serde", "display", "parse"] }
tonic = { version = "0.11", default-features = false, features = ["transport", "codegen", "prost", "tls", "tls-roots", "gzip"] }
tonic-build = { version = "0.11", default-features = false, features = ["transport", "prost"] }
tonic-health = { version = "0.11", default-features = false }
tonic-reflection = { version = "0.11", default-features = false, features = ["server"] }
tonic = { version = "0.12", default-features = false, features = ["transport", "codegen", "prost", "tls", "tls-roots", "gzip"] }
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Align prost major version with tonic 0.12 bump

Updating tonic to 0.12 here introduces a prost major-version split that will break gRPC codegen consumers at compile time: tonic 0.12.3 pulls prost 0.13.5 (see Cargo.lock), while workspace crates like vector-api-client and opentelemetry-proto still depend on prost 0.12.6/prost-build 0.12.6. For crates that generate stubs and then use tonic::codec::ProstCodec, request/response types derived from prost 0.12 do not satisfy the prost::Message bounds expected by tonic’s prost 0.13, so the build fails until prost, prost-build, and prost-types are upgraded in lockstep (or tonic is kept at 0.11).

Useful? React with 👍 / 👎.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Align http/hyper ecosystem with tonic 0.12

Bumping tonic to 0.12 moves its transport/codegen APIs onto http v1 and hyper v1, but this workspace still uses http v0.2/hyper v0.14 in code that directly touches tonic types (for example lib/vector-api-client/src/client.rs uses http::Uri with Endpoint::from, and src/sources/util/grpc/mod.rs bounds services as Service<Request<hyper::Body>, ...>). Those are different crate types and will no longer satisfy tonic’s trait signatures, so this dependency change introduces compile-time type mismatches unless the related http/hyper usages are migrated in lockstep (or tonic stays on 0.11).

Useful? React with 👍 / 👎.

tonic-build = { version = "0.13", default-features = false, features = ["transport", "prost"] }
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Keep tonic-build at API-compatible version

Upgrading tonic-build to 0.13 breaks existing build scripts because this workspace still calls Builder::compile/Builder::compile_with_config (e.g. lib/opentelemetry-proto/build.rs and lib/vector-api-client/build.rs), while tonic-build 0.13 exposes compile_protos/compile_protos_with_config instead. In any build that includes these crates, the build script itself will fail to compile before protobuf generation runs, so this dependency bump is not buildable without migrating those calls (or pinning tonic-build to a compatible release).

Useful? React with 👍 / 👎.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Keep tonic-build API-compatible with existing build.rs

The workspace build scripts still use tonic_build::configure().compile(...) and .compile_with_config(...) (for example lib/vector-api-client/build.rs and lib/opentelemetry-proto/build.rs), but this change upgrades tonic-build to 0.13 without migrating those call sites. That causes build-script compilation failures before protobuf generation can run. Fresh evidence is that this commit pins tonic-build to 0.13 while leaving all build.rs call patterns unchanged.

Useful? React with 👍 / 👎.

tonic-health = { version = "0.13", default-features = false }
tonic-reflection = { version = "0.13", default-features = false, features = ["server"] }
Comment on lines +203 to +205
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Keep tonic companion crates on the same major version

tonic is pinned to 0.12 while tonic-build, tonic-health, and tonic-reflection are bumped to 0.13, which pulls in a second tonic major version with incompatible traits/types. In this repo, services from tonic_health/tonic_reflection are added to servers built with tonic::transport::Server (e.g. src/sources/vector/mod.rs and src/api/grpc_server.rs), so this version split can cause compile-time type mismatches (NamedService/service body/type incompatibility). Either keep all tonic crates on 0.12 or upgrade tonic itself to 0.13 in the same change.

Useful? React with 👍 / 👎.

Comment on lines +204 to +205
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Keep tonic runtime crates on one major version

This bump leaves the workspace with mixed tonic majors (tonic 0.12 but tonic-health/tonic-reflection 0.13), which resolves to both tonic 0.12.3 and tonic 0.13.1 in Cargo.lock. In this repo, src/api/grpc_server.rs and src/sources/vector/mod.rs add health/reflection services to servers built from tonic::transport::Server/RoutesBuilder, and those service traits are not interchangeable across tonic major versions, so normal builds will hit type incompatibilities. Fresh evidence is that this commit updates only companion crates to 0.13 while keeping tonic at 0.12.

Useful? React with 👍 / 👎.

tracing = { version = "0.1.44", default-features = false }
tracing-subscriber = { version = "0.3.22", default-features = false, features = ["fmt"] }
url = { version = "2.5.4", default-features = false, features = ["serde"] }
Expand Down
Loading