jaegertracing / jaeger

CNCF Jaeger, a Distributed Tracing Platform
https://www.jaegertracing.io/
Apache License 2.0
20.57k stars 2.45k forks source link

Set Cassandra compaction window size according to TTL #3466

Open andrey-kondratov opened 2 years ago

andrey-kondratov commented 2 years ago

Requirement - what kind of business use case are you trying to solve?

I am using Docker image jaegertracing/jaeger-cassandra-schema for creating a keyspace in Cassandra for Jaeger data.

When filling a Cassandra cluster with a schema using non-default TTL as a parameter, it would be great to provide for better performance on large datasets by setting the appropriate compaction_window_size according to the rule of thumb of max 50 buckets per table.

Problem - what in Jaeger blocks you from solving the requirement?

The current implementation allows using a custom TTL but has a hard-coded compaction_window_size of 1 hour for TTL of 2 days.

In case when TTL is set to a large value like 180 days, the recommended compaction window size is ~4 days (according to max 50 buckets per table: 180 / 50 = 3.6).

This can be worked around later with an ALTER TABLE command, however, this requires additional effort.

Proposal - what do you suggest to solve the problem or improve the existing situation?

a) support passing compaction_window_size to the docker image in a similar manner as $trace_ttl; b) calculate compaction_window_size based on $trace_ttl value.

varshith257 commented 8 months ago

@yurishkuro Is it up to work?

yurishkuro commented 8 months ago

yes

varshith257 commented 8 months ago

@yurishkuro I have commented on issues which have been stale for a long ,are they ready to work can comment there

jeetb2022 commented 2 weeks ago

@yurishkuro Is the the issue still relevant if yes, i would love to give it a look.