open-telemetry / opentelemetry-collector-contrib

Contrib repository for the OpenTelemetry Collector
https://opentelemetry.io
Apache License 2.0
2.97k stars 2.3k forks source link

update-otel is blocked on ambiguous import #33954

Closed codeboten closed 2 months ago

codeboten commented 3 months ago

Component(s)

No response

Describe the issue you're reporting

Trying to update core to latest returns the following error:

go: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/awscloudwatchmetricsreceiver tested by
        github.com/open-telemetry/opentelemetry-collector-contrib/receiver/awscloudwatchmetricsreceiver.test imports
        go.opentelemetry.io/collector/confmap/confmaptest imports
        go.opentelemetry.io/collector/confmap imports
        go.opentelemetry.io/collector/internal/featuregates: ambiguous import: found package go.opentelemetry.io/collector/internal/featuregates in multiple modules:
        go.opentelemetry.io/collector v0.104.0 (~/1.22.3/packages/pkg/mod/go.opentelemetry.io/collector@v0.104.0/internal/featuregates)
        go.opentelemetry.io/collector/internal/featuregates v0.0.0-20240705161705-b127da089038 (~/1.22.3/packages/pkg/mod/go.opentelemetry.io/collector/internal/featuregates@v0.0.0-20240705161705-b127da089038)
codeboten commented 3 months ago

@mx-psi looks like this may require us to revert the change to make featuregates its own module, as far as i can tell, this happens because there's still modules that import the released version of go.opentelemetry.io/collector

mx-psi commented 2 months ago

I fixed this manually after running make update-otel by doing

make for-all CMD="go mod edit -require=go.opentelemetry.io/collector/internal/featuregates@v0.0.0-20240705161705-b127da089038 "
make gotidy

and it looks like it worked. PTAL at #33977! :)