Skip to content
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

Broken imports of go.opentelemetry.io/otel/sdk for 1.21.0 #7464

Closed
JeromeJu opened this issue Dec 6, 2023 · 8 comments · Fixed by #7465 or #7547
Closed

Broken imports of go.opentelemetry.io/otel/sdk for 1.21.0 #7464

JeromeJu opened this issue Dec 6, 2023 · 8 comments · Fixed by #7465 or #7547
Labels
area/dependency Issues or PRs related to dependency changes

Comments

@JeromeJu
Copy link
Member

JeromeJu commented Dec 6, 2023

When we are trying to bump go.opentelemetry.io/otel/sdk from 1.19.0 to 1.21.0, the build test failure indicates the tracerProvider @HEAD has not implemented the interface from the upstream.

pkg/reconciler/taskrun/controller.go:92:30: cannot use tracerProvider (variable of type *tracing.tracerProvider) as type "go.opentelemetry.io/otel/trace".TracerProvider in struct literal:
	*tracing.tracerProvider does not implement "go.opentelemetry.io/otel/trace".TracerProvider (missing tracerProvider method)

When looking into this, there seems to be 2 issues that need verification:

Originally posted by @JeromeJu in #7387 (comment)

@JeromeJu
Copy link
Member Author

JeromeJu commented Dec 6, 2023

cc @kmjayadeep as you might have more inputs on the implementation of tracerProvider.

@JeromeJu JeromeJu added the area/dependency Issues or PRs related to dependency changes label Dec 6, 2023
@JeromeJu JeromeJu changed the title Breaking imports of go.opentelemetry.io/otel/sdk for 1.21.0 Broken imports of go.opentelemetry.io/otel/sdk for 1.21.0 Dec 6, 2023
JeromeJu added a commit to JeromeJu/pipeline that referenced this issue Dec 6, 2023
This commit migrates off the deprecated trace.NewNoopTracerProvider
func.

part of tektoncd#7464
JeromeJu added a commit to JeromeJu/pipeline that referenced this issue Dec 6, 2023
This commits fixes the broken dependencies on go.opentelemetry.io/otel.
It patches the tracing package with an updated tracingProvider to
implement the embeddedTracingProvider with the provider in the noop pkg.

/bug
fixes: tektoncd#7464
JeromeJu added a commit to JeromeJu/pipeline that referenced this issue Dec 6, 2023
This commit migrates off the deprecated trace.NewNoopTracerProvider
func.

part of tektoncd#7464
JeromeJu added a commit to JeromeJu/pipeline that referenced this issue Dec 6, 2023
This commits fixes the broken dependencies on go.opentelemetry.io/otel.
It patches the tracing package with an updated tracingProvider to
implement the embeddedTracingProvider with the provider in the noop pkg.

/bug
fixes: tektoncd#7464
@kmjayadeep
Copy link
Contributor

I'm working on updating to otel 1.21. It also deprecated jaeger exporter in favor of otel exporter, which makes the update not so-straightforward.
You can find the WIP PR here

Is this blocking anyone currently?

@JeromeJu
Copy link
Member Author

JeromeJu commented Dec 19, 2023

I'm working on updating to otel 1.21. It also deprecated jaeger exporter in favor of otel exporter, which makes the update not so-straightforward. You can find the WIP PR here

Thanks for this! I think this PR also works fine for the bump, just failed the go coverage test IIUC.

Is this blocking anyone currently?

I don't think this is a blocker at the moment.

@vdemeester
Copy link
Member

@kmjayadeep the bump to containerd "seems" blocked on this.

@vdemeester
Copy link
Member

A lot of dependabot PRs are blocked on this. For some reason, dependabot tries to update it with other dependencies, making them all fail (instead of just updating the ones).

@kmjayadeep
Copy link
Contributor

@vdemeester I will check my WIP PR once again and raise upstream in the next couple of days

@JeromeJu
Copy link
Member Author

JeromeJu commented Jan 5, 2024

I can reopen this #7465 if it looks good. @vdemeester @kmjayadeep

JeromeJu added a commit to JeromeJu/pipeline that referenced this issue Jan 5, 2024
This commit migrates off the deprecated trace.NewNoopTracerProvider
func.

part of tektoncd#7464
JeromeJu added a commit to JeromeJu/pipeline that referenced this issue Jan 5, 2024
This commits fixes the broken dependencies on go.opentelemetry.io/otel.
It patches the tracing package with an updated tracingProvider to
implement the embeddedTracingProvider with the provider in the noop pkg.

/bug
fixes: tektoncd#7464
@kmjayadeep
Copy link
Contributor

The proper solution is to migrate jaeger to otel exporter and upgrade to 1.21. I have raised #7547 for this.

@JeromeJu In your PR, jaeger exporter is from otel 1.17 and SDK is 1.21. I'm not sure if there will be any compatibility issues with that. But if it works without issues, I would suggest to go ahead with it and unblock others. I can rebase afterwards on my PR. 7547 will take longer to review and test anyway.

tekton-robot pushed a commit that referenced this issue Jan 15, 2024
This commit migrates off the deprecated trace.NewNoopTracerProvider
func.

part of #7464
tekton-robot pushed a commit that referenced this issue Jan 15, 2024
This commits fixes the broken dependencies on go.opentelemetry.io/otel.
It patches the tracing package with an updated tracingProvider to
implement the embeddedTracingProvider with the provider in the noop pkg.

/bug
fixes: #7464
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/dependency Issues or PRs related to dependency changes
Projects
None yet
3 participants