I have recently lowered gc_grace_seconds
for a CQL table. I am running LeveledCompactionStrategy
. Is it possible for me to force purging of old tombstones from my SSTables?
相关问题
- What version of Java does Cassandra 3 require
- Filter from Cassandra table by RDD values
- cassandra: can you query against a collection fiel
- How to understand the 'Flexible schema' in
- NoHostAvailableException With Cassandra & DataStax
相关文章
- Cassandra Read a negative frame size
- How does cassandra split keyspace data when multip
- How does Cassandra scale horizontally ?
- NoSQL Injection? (PHP->phpcassa->Cassandra)
- Executing CQL through Shell Script?
- Spark and Cassandra Java Application Exception Pro
- How to access the local data of a Cassandra node
- how to connect cassandra from local to EC2 instanc
TL;DR
Your tombstones will disappear on their own through compaction bit make sure you are running repair or they may come back from the dead.
http://www.datastax.com/documentation/cassandra/2.0/cassandra/dml/dml_about_deletes_c.html
Adding some more details:
Tombstones are not immediately available for deletion until both:
1) gc_grace_seconds has expired
2) they meet the requirements configured in tombstone compaction sub-properties
I need to free up disk by expiring tombstones, how do I do this quickly?
1) Run a repair to ensure your tombstones are consistent
2) Decrease gc_grace_seconds for your table (alter table statement)
3) Configure your compaction sub properties to speed up tombstone removal:
Decrease tombstone_compaction_interval and decrease tombstone_threshold, or set unchecked_tombstone_compaction to true to ignore both conditions and collect based purely on gc grace.
Is it working?
You can see statistics about tombstones in
nodetool cfstats
and by using the sstable metatdata utility found in your tools directorysstablemetadata <sstable filenames>
.