实际记录TTL后一个月未删除Cassandra墓碑

时间:2018-07-03 10:50:51

标签: cassandra datastax datastax-enterprise cassandra-2.1 tombstone

DSE 4.7遇到问题。

即使在压缩,清理,rebuild_index和修复后,墓碑也不会被删除。记录有15天的ttl。

sstablemetadata输出表明有90%的墓碑

有什么想法吗?

sstablemetadata输出

SSTable: ./abcd-abcd-ka-478675
Partitioner: org.apache.cassandra.dht.Murmur3Partitioner
Bloom Filter FP chance: 0.010000
Minimum timestamp: 1527521280829593
Maximum timestamp: 1527596173976435
SSTable max local deletion time: 1528892173
Compression ratio: 0.36967428395684393
Estimated droppable tombstones: 0.9073013816277629
SSTable Level: 0
Repaired at: 0
ReplayPosition(segmentId=1520529283052, position=4626679)
Estimated tombstone drop times:%n
1528817679:  18318196
1528818619:  20753822
1528819513:  24176310
.
.
.

Count               Row Size        Cell Count
1                          0                 0
2                          0           1752560
3                          0                 0
4                          0           6355421
5                          0                 0
6                          0            687302
7                          0                 0
8                          0            529613
10                         0            444801
12                         0            410107
14                         0            456011
17                         0           1347893
20                         0            184960
24                         0            152814
.
.
.
770                  1347893               137
924                   184960               109
1109                  220403                68
1331                  121620                86
1597                 2044030               102
1916                  185601               195
2299                  184816            158273
2759                  868754                 0
3311                   62795                 0
3973                    1668                 0
4768                    2143                 0
5722                 1812541                 0
6866                     828                 0
.
.
.             
Ancestors: [476190, 474027, 475201, 478160]
Estimated cardinality: 20059264

2 个答案:

答案 0 :(得分:1)

在请求的时间到期后,Cassandra用墓碑标记TTL数据。存在一个墓碑gc_grace_seconds。用墓碑标记数据后,在正常压缩过程中将自动删除数据。 您可以尝试进行重大压实以将墓碑逐出。

答案 1 :(得分:0)

正常压缩后,墓碑将被删除。但是,有时仍然会在逻辑删除中发现过时的数据(甚至在prod中),原因可能是该集群中所有节点中的一个都已关闭,并且逻辑删除该逻辑节点中的数据并没有被删除。有时也会在主键中插入空值,从而导致逻辑删除数据。