当我删除Cassandra中的行时,我只删除列而不是行键

Mat*_*ska 10 cassandra nosql delete-row

如果我使用Cassandra数据库删除ColumnFamily中的每个键remove(key),那么如果我使用get_range_slices,行仍然存在但没有列.我怎么能删除整行?

Sch*_*jer 6

为什么在范围扫描期间显示已删除的键?

因为get_range_slice说"将此谓词应用于给定的行范围",这意味着,如果谓词结果为空,我们必须为该行键包含空结果.执行这样的查询以返回部分或全部键的空列列表是完全有效的,即使没有执行删除也是如此.

  • 根据http://wiki.apache.org/cassandra/DistributedDeletes,每个GCGraceSeconds清除墓碑,默认情况下为10天.GCGraceSeconds应该是您获取故障节点备份和运行所需的最长时间.对于单个实例,可以将GCGraceSeconds设置为0,然后自动删除逻辑删除. (2认同)

小智 -3

刚刚遇到同样的问题,我发现:

此问题已在 0.7 中修复(https://issues.apache.org/jira/browse/CASSANDRA-1027)。并向后移植到 0.6.3

这也相关: https://issues.apache.org/jira/browse/CASSANDRA-494

  • -1 这还没有被“修复”,票证刚刚被“解决”,解决方案是“[也许稍后再做]”。根据 @Schildmeijer 的回答,这是预期的行为,而不是错误。 (4认同)