Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature Request] Add support for multiple backends to persist trace data #185

Closed
ayansen opened this issue Oct 31, 2018 · 4 comments · Fixed by #208
Closed

[Feature Request] Add support for multiple backends to persist trace data #185

ayansen opened this issue Oct 31, 2018 · 4 comments · Fixed by #208
Assignees

Comments

@ayansen
Copy link
Member

ayansen commented Oct 31, 2018

Currently haystack traces supports only the cassandra backend. Adding a new backend would mean writing a new driver in haystack-traces-commons module and using it in the reader and indexer.
This design has a problem when we create multiple drivers all of the dependencies get added in the main jar and can cause conflict.
This issue is created to discuss if we can come up with a cleaner way to add new backends for traces

@ayansen
Copy link
Member Author

ayansen commented Oct 31, 2018

Proposed design for the new architecture is documented here :
https://github.com/ExpediaDotCom/haystack/wiki/Haystack-Traces:-Supporting-Multiple-Backends

@codefromthecrypt
Copy link

ps I'm curious how this got to be more difficult :) you know grpc has a really dirty classpath by itself!

in zipkin we have had to do some dodging as well. looking forward to the datastax 4 driver as it no longer conflicts with guava (though it would with netty).

Anyway curious which things bit you and also curious if the cure ends up better than the disease. Appreciate you sharing your experience however this turns out.

@ayansen
Copy link
Member Author

ayansen commented Jan 2, 2019

@adriancole yes grpc dependencies did bite us. I had to exclude the guava dependency from the datastax driver https://github.com/ExpediaDotCom/haystack-traces/blob/master/backends/cassandra/pom.xml#L26. Fortunately the grpc version 1.7.1 uses guava version 19.0 which is compatible with the datastax driver. Having said that I'd really like the grpc code to clean up the dependencies.

@codefromthecrypt
Copy link

codefromthecrypt commented Jan 3, 2019 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants