-
Notifications
You must be signed in to change notification settings - Fork 288
errors when go get
'ing library
#184
Comments
maybe this is expected? so my suggestion is to clarify in the README.md, at the top, how this library should be installed and used. |
Yes, due to a recent upstream breaking change in thrift the Would you like to put a PR with how you suggest to update the README to make it clear? |
I have a project that is making use of jaeger-client-go and I was seeing this error when I attempted a go get. glide install resolved that. but now I can no longer build a project that was working perfectly well until now as seen in the error message below. My code directly used the tracer initialization example code and worked perfectly. What has changed recently to break this? Am I just not fully understanding the implications of that breaking thrift change?
this is the initialization code it's complaining about: I'm assuming that I need to propagate the right vendoring everywhere, but I'm not really clear on how to do that. How do I import metrics in such a way to avoid this issue? If i just change the import to be: jaegermetrics "github.com/uber/jaeger-client-go/vendor/github.com/uber/jaeger-lib/metrics" I instead get "use of vendored package not allowed" |
yes, you're getting conflicts between vendored and not-vendored code. Are you using glide for the rest of your project or just to get jaeger-client-go? If you use vendoring, then both jaeger-client-go and jaeger-lib should be vendored at the same top level, independently. Plus, you should not have nested vendor dirs: |
My project does not use vendoring, I only ran glide install on jaeger-client-go so it wouldn't throw all the thrift errors from this issue. Doing that however seems to create expectations of everything being vendored. Is there any way I can get this to work without having to use glide in my own project? Basically, I hadn't run a go get since I originally cloned jaeger a long time ago. I finally had the branch of my project where I added jaeger tracing run through travis. travis does a go get as its first step, which caused me to hit the thrift issue and now this is where I'm at. All of our other dependencies have either been developed in house or forked and brought in house, so we previously had no need for glide (and adding it would slow down both our CI and deploy processes, just for one dependency). |
According to #177 (comment), you may not need to do |
Any plans to catch up with upstream Thrift code? It's been 5 months now... |
The new 0.11 version has just been released and it contains breaking changes. We need to vet the new release and also figure out how much pain it's going to be for our users to upgrade. |
whatsup with this? > go get github.com/uber/jaeger-client-go
# github.com/uber/jaeger-client-go/thrift-gen/jaeger
../github.com/uber/jaeger-client-go/thrift-gen/jaeger/agent.go:101:34: cannot use agentProcessorEmitBatch literal (type *agentProcessorEmitBatch) as type thrift.TProcessorFunction in assignment:
*agentProcessorEmitBatch does not implement thrift.TProcessorFunction (wrong type for Process method)
have Process(int32, thrift.TProtocol, thrift.TProtocol) (bool, thrift.TException)
want Process(context.Context, int32, thrift.TProtocol, thrift.TProtocol) (bool, thrift.TException)
../github.com/uber/jaeger-client-go/thrift-gen/jaeger/agent.go:111:27: not enough arguments in call to processor.Process
have (int32, thrift.TProtocol, thrift.TProtocol)
want (context.Context, int32, thrift.TProtocol, thrift.TProtocol)
# github.com/uber/jaeger-client-go/thrift-gen/sampling
../github.com/uber/jaeger-client-go/thrift-gen/sampling/samplingmanager.go:101:15: cannot assign 1 values to 2 variables
../github.com/uber/jaeger-client-go/thrift-gen/sampling/samplingmanager.go:147:44: cannot use samplingManagerProcessorGetSamplingStrategy literal (type *samplingManagerProcessorGetSamplingStrategy) as type thrift.TProcessorFunction in assignment:
*samplingManagerProcessorGetSamplingStrategy does not implement thrift.TProcessorFunction (wrong type for Process method)
have Process(int32, thrift.TProtocol, thrift.TProtocol) (bool, thrift.TException)
want Process(context.Context, int32, thrift.TProtocol, thrift.TProtocol) (bool, thrift.TException)
../github.com/uber/jaeger-client-go/thrift-gen/sampling/samplingmanager.go:157:27: not enough arguments in call to processor.Process
have (int32, thrift.TProtocol, thrift.TProtocol)
want (context.Context, int32, thrift.TProtocol, thrift.TProtocol)
# github.com/uber/jaeger-client-go/thrift-gen/zipkincore
../github.com/uber/jaeger-client-go/thrift-gen/zipkincore/zipkincollector.go:101:15: cannot assign 1 values to 2 variables
../github.com/uber/jaeger-client-go/thrift-gen/zipkincore/zipkincollector.go:147:42: cannot use zipkinCollectorProcessorSubmitZipkinBatch literal (type *zipkinCollectorProcessorSubmitZipkinBatch) as type thrift.TProcessorFunction in assignment:
*zipkinCollectorProcessorSubmitZipkinBatch does not implement thrift.TProcessorFunction (wrong type for Process method)
have Process(int32, thrift.TProtocol, thrift.TProtocol) (bool, thrift.TException)
want Process(context.Context, int32, thrift.TProtocol, thrift.TProtocol) (bool, thrift.TException)
../github.com/uber/jaeger-client-go/thrift-gen/zipkincore/zipkincollector.go:157:27: not enough arguments in call to processor.Process
have (int32, thrift.TProtocol, thrift.TProtocol)
want (context.Context, int32, thrift.TProtocol, thrift.TProtocol)
|
Fail to get when using As glide suggests, I migrate from This lib can work with
But every time I run It's a half of year, the upstream is still broken. Is anyone maintaining this project? |
@montera82 the tutorial does not suggest using |
Tips for
|
Great! thanks a lot! @yurishkuro |
my env
|
* Add example in README * Add example in README * Reuse client from go-stdlib and add example * Reuse client from go-stdlib and add example * Simplify example * Add before_script to avoid jaegertracing/jaeger-client-go#184 * Add before_script to avoid jaegertracing/jaeger-client-go#184 * Add before_script to avoid jaegertracing/jaeger-client-go#184 * Add before_script to avoid jaegertracing/jaeger-client-go#184 * Go fmt and give a simple way to attach tracer #2 * Provide default opName and build a gorilla middleware to inject tracer. #2 * Extract operation name from the route #2 * Extract operation name from the route #2 * Remove r.URL.Path and gofmt #2
The text was updated successfully, but these errors were encountered: