当我进行表修复时,我会看到很多警告,如下所示:
WARN [CompactionExecutor:112958] 2016-04-07 15:39:33,160 SliceQueryFilter.java:236 - Read 10002 live and 2857 tombstoned cells
但是我没有删除任何内容而且没有设置TTL,因此没有删除任何内容。为什么有这么多的墓碑?数据大小约为200G,但我插入了一些NULL单元格。
答案 0 :(得分:3)
我最近有same issue。原因是我插入了NULL值。我只是不知道我做了。
如果您使用预准备语句并且未设置某些参数,或者将它们设置为NULL,或者如果您插入的JSON对象不包含表的每一列的键,那么您最终每个列的墓碑都有。
如果是预备语句,您可以通过将未使用的参数显式设置为unset来避免使用逻辑删除。请参阅CASSANDRA-7304。
不幸的是,JSON插入还没有这样的语法/ API。请查看CASSANDRA-11424以查看进度。