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

Create database scheme in Cassandra automatically #5797

Open
yurishkuro opened this issue Aug 1, 2024 · 6 comments · May be fixed by #5922
Open

Create database scheme in Cassandra automatically #5797

yurishkuro opened this issue Aug 1, 2024 · 6 comments · May be fixed by #5922
Labels
changelog:new-feature Change that should be called out as new feature in CHANGELOG good first issue Good for beginners help wanted Features that maintainers are willing to accept but do not have cycles to implement storage/cassandra v2

Comments

@yurishkuro
Copy link
Member

Historically, Jaeger's integration with different databases was not consistent in how the database initialization happens. For example, when using Cassandra the user first needs to run a "create schema" script [1]. But running with Elasticsearch does not require a script, it's done automatically in the code on collector startup.

We want to add similar initialization to Cassandra implementation. This will be especially helpful in Jaeger v2 when it's deployed by K8s Operator from OTEL Collector, which does not have the built-in ability to run pre-initialization steps.

[1] /plugin/storage/cassandra/schema/create.sh

@yurishkuro yurishkuro added help wanted Features that maintainers are willing to accept but do not have cycles to implement good first issue Good for beginners labels Aug 1, 2024
@dosubot dosubot bot added changelog:new-feature Change that should be called out as new feature in CHANGELOG storage/cassandra v2 labels Aug 1, 2024
@kairveeehh
Copy link

hiii @yurishkuro I would like to take up this issue under LFX , could you assign it to me and let me know any further resources if there?

@hellspawn679
Copy link
Contributor

so basically we need to remove the schema folder dependency and initialize with similar to es

@Ali-Alnosairi
Copy link
Contributor

/assign

@Spraveen8-chary
Copy link

  • Add schema initialization to Jaeger's Cassandra setup.
  • Update the collector startup to handle schema creation.
  • Test the changes in different deployment scenarios

@akstron
Copy link

akstron commented Aug 23, 2024

Hi @yurishkuro , I am working on it and wanted some suggestions. For this task we have to create keyspace, types and tables after cassandra session initialization. Do you recommend extracting the queries from *.tmpl files (which is how it is done currently by running create.sh script) or should we write the queries in the code itself?

@yurishkuro
Copy link
Member Author

It's fine to read from template files, we just need to embed them into the binary.

@akstron akstron linked a pull request Sep 2, 2024 that will close this issue
4 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
changelog:new-feature Change that should be called out as new feature in CHANGELOG good first issue Good for beginners help wanted Features that maintainers are willing to accept but do not have cycles to implement storage/cassandra v2
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants