viirya opened a new pull request, #27:
URL: https://github.com/apache/spark-connect-gateway/pull/27
### What changes were proposed in this pull request?
Move the seven `opentelemetry*` crates from 0.31 to 0.32, and
`tracing-opentelemetry` from 0.32 to 0.33:
```
opentelemetry 0.31 -> 0.32
opentelemetry_sdk 0.31 -> 0.32
opentelemetry-otlp 0.31 -> 0.32
opentelemetry-semantic-conventions 0.31 -> 0.32
opentelemetry-stdout 0.31 -> 0.32
opentelemetry-proto 0.31 -> 0.32
tracing-opentelemetry 0.32 -> 0.33
```
`Cargo.toml` and `Cargo.lock` only. No source changes were needed — the APIs
this
repo uses are unchanged between 0.31 and 0.32.
This supersedes #8, which is closed.
### Why are the changes needed?
Dependabot opened #8 to bump `opentelemetry_sdk` on its own. That cannot
compile:
the other six `opentelemetry*` crates stay at 0.31, so both 0.31 and 0.32 of
`opentelemetry` land in the dependency graph and the traits stop lining up.
Reproduced locally on `main`:
```
error[E0308]: mismatched types
--> crates/observability/src/tracing.rs:167:25
error[E0277]: the trait bound `opentelemetry_otlp::SpanExporter:
opentelemetry_sdk::trace::SpanExporter` is not satisfied
--> crates/observability/src/tracing.rs:199:30
error[E0277]: the trait bound `TraceContextPropagator: TextMapPropagator`
is not satisfied
--> crates/observability/src/tracing.rs:206:37
```
Moving the whole group to 0.32 is still not sufficient on its own, because
`tracing-opentelemetry` 0.32 itself depends on `opentelemetry` 0.31 and
pulls it
back in:
```
error[E0277]: the trait bound `SdkTracer:
opentelemetry::trace::tracer::Tracer`
is not satisfied
--> crates/observability/src/tracing.rs:209:65
```
0.33 is the `tracing-opentelemetry` release that tracks `opentelemetry`
0.32, so
all eight crates move at once.
### Does this PR introduce _any_ user-facing change?
No. Dependency versions only; no change to configuration, metrics, span
names, or
any emitted telemetry.
### How was this patch tested?
The full CI quartet on this branch:
| check | result |
|---|---|
| `cargo test --workspace` | 204 passed, 0 failed, 10 ignored — same as the
baseline on `main` |
| `cargo clippy --workspace --all-targets -- -D warnings` | clean |
| `cargo fmt --all --check` | clean |
| `cargo build --workspace` | clean |
The check that actually shows the version skew is gone is the lockfile
resolving a
single `opentelemetry`:
```
$ grep -c '^name = "opentelemetry"' Cargo.lock
1
```
Beyond the quartet I ran the `#[ignore]`d integration tests, because the unit
tests are the weakest signal for this particular dependency group:
- `tracing_emits_spans_and_propagates_traceparent` passes. This one matters
most:
feature unification in this group has previously caused application spans
to be
dropped silently, and neither a build nor the unit tests would catch that.
- The Redis integration tests (`scg-store-redis`, `scg-ratelimit`) pass —
5 and 4 tests respectively — unaffected, as expected.
### Was this patch authored or co-authored using generative AI tooling?
Yes, co-authored with Claude Code.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]