-
Notifications
You must be signed in to change notification settings - Fork 2.3k
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
Provide multiple datacenters to Cassandra Schema generation scripts #2618
Comments
Sounds sane to me, but would be good to have an opinion on someone else using Cassandra as well. @joe-elliott, are you using it? |
We do use Cassandra, but we do not have a multi-dc setup. The script already supports custom replication factor:
It seems like we just need support for the comma delimited datacenters? I'd be glad to test the changes on our setup once the PR exists. |
@joe-elliott The replication factor is supported in the |
@Kerptastic Hi, may I ask whether this PR been merged? And are you able to provide a example for the multi-dc cassandra, as I didn't see the param of REPLICATION_FACTOR in jaeger_types.go |
No it has not, I totally spaced finishing this actually as we are exploring ES for the backend. |
The schema files already support a jaeger/plugin/storage/cassandra/schema/create.sh Lines 41 to 54 in e08f576
Proposal: support top-level |
Requirement - what kind of business use case are you trying to solve?
We have a multi-datacenter configuration. Currently, when using the
jaeger-cassandra-schema
container, the keyspace being generated can only be configured using 1) a single datacenter; 2) a hard-coded replication factor of 2.Example of current:
{'class': 'NetworkTopologyStrategy', 'dc1': '2' }
This results in the following error:
Our Cassandra DBEs propose that the NetworkTopologyStrategy have a minimum replication factor of 3, and that each datacenter be configured during keyspace creation.
Example of requested:
{'class': 'NetworkTopologyStrategy', 'dc1': '3', 'dc2': '3' }
Problem - what in Jaeger blocks you from solving the requirement?
We currently use the Jaeger Operator and the CassandraSchema container to prep and manage our Jaeger deployment. Without this change, we need to fork the repo and build our own CassandraSchema container in order to successfully deploy to a multi-dc Cassandra. This would also require us to internally maintain a fork in order to recreate the containers, if need be.
Proposal - what do you suggest to solve the problem or improve the existing situation?
A suggestion would be to edit the
plugin/storage/cassandra/schema/create|docker.sh
to allow for comma-delimited DATACENTER value to be provided, and created the appropriatereplication_factor
value when multiple datacenters are indeed provided.I have a PR for this ready, and tested against our Cassandra multi-dc configuration, and it works as expected.
Any open questions to address
The text was updated successfully, but these errors were encountered: