etcd
etcd copied to clipboard
ETCD integration package is broken if any other module in the project uses updated opentelemetry
Currently it's not possible to use the go.etcd.io/etcd/tests/v3/integration module, in any version of 3.5 if another module in the project uses an updated version of OpenTelemetry. Trying to run "go mod tidy" in a project that uses the ETCD integration package along with another module that uses an updated version of OpenTelemetry results in the following:
go.etcd.io/etcd/tests/v3/integration imports
go.etcd.io/etcd/server/v3/embed imports
go.opentelemetry.io/otel/semconv: module go.opentelemetry.io/otel@latest found (v1.8.0), but does not contain package go.opentelemetry.io/otel/semconv
To resolve this, ETCD 3.5 branch should either be updated to use OpenTelemetry 1.x as has been done on 3.6.0 alpha, to allow this to be used along with other updated modules.
Related issues: https://github.com/open-telemetry/opentelemetry-go/issues/2577 https://github.com/etcd-io/etcd/issues/13664
Please try ./scripts/updatedep.sh
Looks like https://github.com/etcd-io/etcd/issues/14311 has resolved this issue?
A replace unblocked me...
replace (
go.etcd.io/etcd/api/v3 v3.5.4 => go.etcd.io/etcd/api/v3 v3.5.5-0.20220808200321-9e95685d0a6d
go.etcd.io/etcd/client/pkg/v3 v3.5.4 => go.etcd.io/etcd/client/pkg/v3 v3.5.5-0.20220808200321-9e95685d0a6d
go.etcd.io/etcd/client/v3 v3.5.4 => go.etcd.io/etcd/client/v3 v3.5.5-0.20220808200321-9e95685d0a6d
go.etcd.io/etcd/etcdctl/v3 v3.5.4 => go.etcd.io/etcd/etcdctl/v3 v3.5.5-0.20220808200321-9e95685d0a6d
go.etcd.io/etcd/pkg/v3 v3.5.4 => go.etcd.io/etcd/pkg/v3 v3.5.5-0.20220808200321-9e95685d0a6d
go.etcd.io/etcd/raft/v3 v3.5.4 => go.etcd.io/etcd/raft/v3 v3.5.5-0.20220808200321-9e95685d0a6d
go.etcd.io/etcd/server/v3 v3.5.4 => go.etcd.io/etcd/server/v3 v3.5.5-0.20220808200321-9e95685d0a6d
go.etcd.io/etcd/tests/v3 v3.5.4 => go.etcd.io/etcd/tests/v3 v3.5.5-0.20220808200321-9e95685d0a6d
go.etcd.io/etcd/v3 v3.5.4 => go.etcd.io/etcd/v3 v3.5.5-0.20220808200321-9e95685d0a6d
)
Yes, this issue has already been resolved in release-3.5, and it will be included in 3.5.5. The workaround for now (before the release of 3.5.5) would be using replace directive just as @rcrowe pointed out.