Cassandra 卡桑德拉墓碑在实际记录TTL后一个月未被删除

Cassandra 卡桑德拉墓碑在实际记录TTL后一个月未被删除,cassandra,datastax,datastax-enterprise,cassandra-2.1,tombstone,Cassandra,Datastax,Datastax Enterprise,Cassandra 2.1,Tombstone,遇到DSE 4.7的问题 即使在压缩、清理、重建和修复之后,墓碑也不会被删除。记录有15天的ttl sstablemetadata输出表明有90%的墓碑 有什么想法吗 sstablemetadata输出 SSTable: ./abcd-abcd-ka-478675 Partitioner: org.apache.cassandra.dht.Murmur3Partitioner Bloom Filter FP chance: 0.010000 Minimum timestamp: 15275212

遇到DSE 4.7的问题

即使在压缩、清理、重建和修复之后,墓碑也不会被删除。记录有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

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

在请求的时间量过期后,Cassandra会用逻辑删除标记TTL数据。墓碑的存在时间为gc_grace_秒。使用墓碑标记数据后,数据将在正常压缩过程中自动删除。
您可以尝试运行主要的压缩来驱逐墓碑。

什么是gc_grace_period?您使用的是什么比较策略?压缩策略是DateTieredCompactionStrategy,gc_grace_period是864000(10天),超过gc grace period 20天。我面临着几乎相同的问题:在某些节点上工作的是“nodetool compact”,在一些节点上没有。主要的压缩在大多数节点上起作用,但这仍然不能解释为什么在gc宽限期之后墓碑没有被删除。