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
答案 0 :(得分:1)
在请求的时间到期后,Cassandra用墓碑标记TTL数据。存在一个墓碑gc_grace_seconds。用墓碑标记数据后,在正常压缩过程中将自动删除数据。 您可以尝试进行重大压实以将墓碑逐出。
答案 1 :(得分:0)
正常压缩后,墓碑将被删除。但是,有时仍然会在逻辑删除中发现过时的数据(甚至在prod中),原因可能是该集群中所有节点中的一个都已关闭,并且逻辑删除该逻辑节点中的数据并没有被删除。有时也会在主键中插入空值,从而导致逻辑删除数据。