We run the DB Titan Graph server, supported by Cassandra, as a permanent repository and encounter a problem with reaching the limit on the thresholds of Tombstones of Cassandra, which periodically causes errors / timeout when data is accumulated. The seal seems to be unable to keep up with the amount of tombstones added.
Our use case supports:
- High read / write bandwidth.
- High sensitivity to reading.
- Frequent updates to node values ββin Titan. whereby the rows are updated in Kassandra.
Given the above use cases, we are already optimizing Cassandra to aggressively do the following:
- Aggressive sealing using seal alignment strategies
- Using tombstone_compaction_interval after 60 seconds.
- Using tombstone_threshold should be 0.01
- Setting gc_grace_seconds to 1800
Despite the following optimizations, we still see warnings in Cassandra logs similar to: [WARN] (ReadStage: 7510) org.apache.cassandra.db.filter.SliceQueryFilter: read 0 live and 10,350 tombstones in .graphindex (see tombstone_warn_threshold ) 8001 columns requested, slices = [00-ff], delInfo = {deletedAt = -9223372036854775808, localDeletion = 2147483647}
Sometimes, as time progresses, we also see that the failure threshold is violated and causes errors.
In our cassandra.yaml file, the tombstone_warn_threshold value will be 10000, and the tombstone_failure_threshold value will be much higher than the 250,000 recommended, without any real benefits.
Any help that might point to the correct configurations would be greatly appreciated if there was room for further optimizations. Thank you in advance for your time and help.
Rohit source share