-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Description
Hey there 👋
github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/attributes made a breaking change in v0.25.0, as described in the release notes. The code on the datadog-agent side was fixed1, but the fix hasn't been released yet.
This is causing problems for us since some of our libraries use dependabot to automatically update all dependencies in the go.mod file to the latest released version (not including RCs). i.e.
the otlp mapping code gets upgraded to a version with a breaking change:
$ go get -u github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/attributes
go: upgraded github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/attributes v0.24.0 => v0.26.0
but the datadog-agent code doesn't get upgraded to a version with a fix:
$ go get -u github.com/DataDog/datadog-agent/pkg/trace
go: upgraded github.com/DataDog/datadog-agent/pkg/trace v0.63.0 => v0.63.3
Which is causing our builds to fail:
../../go/pkg/mod/github.com/!data!dog/datadog-agent/pkg/trace@v0.63.3/traceutil/otel_util.go:543:46: not enough arguments in call to tr.ResourceToSource
have (context.Context, pcommon.Resource, "go.opentelemetry.io/otel/attribute".Set)
want (context.Context, pcommon.Resource, "go.opentelemetry.io/otel/attribute".Set, "github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/attributes".HostFromAttributesHandler)
FAIL github.com/<...> [build failed]
For now we can upgrade to the release candidate manually for a few libraries or downgrade the agent, but it's difficult to do that everywhere.
As an aside, I understand that these are both v0 releases so technically don't have to follow Go compatibility promises, but it's quite disruptive to making breaking changes, even if it's fixed in other Datadog libraries. Can this be avoided as a general rule? 🙏