HdrHistogram / hdrhistogram-go

A pure Go implementation of Gil Tene's HDR Histogram.
MIT License
439 stars 64 forks source link

go1.12 got error parsing go.mod: unexpected module path "github.com/HdrHistogram/hdrhistogram-go" #30

Closed wangzz719 closed 4 years ago

wangzz719 commented 4 years ago

This MR https://github.com/HdrHistogram/hdrhistogram-go/commit/bb05e18a12a6cbbdc359532a2f3c93d32f913404 changed module path, while using go mod in go1.12 occurs this error:

go: github.com/codahale/hdrhistogram@v0.0.0-20200919145931-8dac23c8dac1: parsing go.mod: unexpected module path "github.com/HdrHistogram/hdrhistogram-go"

ahothan commented 4 years ago

Hi, the original repository has been moved to a new github location, please update your src directory accordingly (you need to remove the old clone and issue another get from the new location).

mammothbane commented 4 years ago

Edit: This problem seems to have just gone away in my env. See my comment below.

This rename has caused transitive dependency issues. Any module that depended on the old codahale/hdrhistogram-go (directly or not) is now broken and needs to update.

For instance, jaegertracing/jaeger-client-go depends on jaegertracing/jaeger-lib, which depends on hdrhistogram in this testing code (using the old codahale name).

The import in that file now breaks go mod because of the issue described in the OP -- the codahale version of the package can no longer be resolved, retroactive to all previously-published versions of this package. This is a breakage for everyone who depends on jaeger-client-go.

To resolve my problem in particular, I plan to PR the name change into jaeger-lib ASAP.

However, in case others aren't in direct control of their dependency on this module and are looking for a solution, you can use a replace directive in your go.mod, e.g.:

$ go mod edit -replace github.com/codahale/hdrhistogram=github.com/HdrHistogram/hdrhistogram-go@v0.0.0-20200919145931-8dac23c8dac1
wangzz719 commented 4 years ago

I will have a try. Thanks!

filipecosta90 commented 4 years ago

For instance, jaegertracing/jaeger-client-go depends on jaegertracing/jaeger-lib, which depends on hdrhistogram in this testing code (using the old codahale name).

@mammothbane please check if this PR will fix the issue on jaeger-lib https://github.com/jaegertracing/jaeger-lib/pull/82 Also opening another one to fix jaeger-client-go

mammothbane commented 4 years ago

@filipecosta90 Thanks for doing this — and I'm sorry I didn't update my comment, but this has stopped breaking for me.

I was fighting this for about 6 hours on Monday and I started making a PR into jaeger-lib myself, but on Tuesday morning, the issue spontaneously went away and I've been able to build again without any problems since. I have no idea what changed — it very consistently didn't work on previously — but I can't make it happen anymore.

If you're experiencing the problem, sorry, but I can no longer test a fix.