"The question is why Cassandra creates a tombstone for every column instead of single tombstone per row?"
--> Simply because technically it is possible to set different TTL value on each column of a CQL row On Wed, Jan 10, 2018 at 2:59 PM, Python_Max <python....@gmail.com> wrote: > Hello, C* users and experts. > > I have (one more) question about tombstones. > > Consider the following example: > cqlsh> create keyspace test_ttl with replication = {'class': > 'SimpleStrategy', 'replication_factor': '1'}; use test_ttl; > cqlsh> create table items(a text, b text, c1 text, c2 text, c3 text, > primary key (a, b)); > cqlsh> insert into items(a,b,c1,c2,c3) values('AAA', 'BBB', 'C111', > 'C222', 'C333') using ttl 60; > bash$ nodetool flush > bash$ sleep 60 > bash$ nodetool compact test_ttl items > bash$ sstabledump mc-2-big-Data.db > > [ > { > "partition" : { > "key" : [ "AAA" ], > "position" : 0 > }, > "rows" : [ > { > "type" : "row", > "position" : 58, > "clustering" : [ "BBB" ], > "liveness_info" : { "tstamp" : "2018-01-10T13:29:25.777Z", "ttl" : > 60, "expires_at" : "2018-01-10T13:30:25Z", "expired" : true }, > "cells" : [ > { "name" : "c1", "deletion_info" : { "local_delete_time" : > "2018-01-10T13:29:25Z" } > }, > { "name" : "c2", "deletion_info" : { "local_delete_time" : > "2018-01-10T13:29:25Z" } > }, > { "name" : "c3", "deletion_info" : { "local_delete_time" : > "2018-01-10T13:29:25Z" } > } > ] > } > ] > } > ] > > The question is why Cassandra creates a tombstone for every column instead > of single tombstone per row? > > In production environment I have a table with ~30 columns and It gives me > a warning for 30k tombstones and 300 live rows. It is 30 times more then it > could be. > Can this behavior be tuned in some way? > > Thanks. > > -- > Best regards, > Python_Max. >