更新cassandra列表集合正在创建逻辑删除

时间:2019-03-22 02:56:29

标签: cassandra cql tombstone

Cassandra版本3.11.3

我有一条包含一些集合和列表集合的记录。 使用带有添加/删除数据的集合似乎没有逻辑删除创建,或者逻辑删除创建非常有限。 但是,使用列表列似乎在为每个查询创建一个逻辑删除。

我对它的印象是此bug中已解决。
我做错什么了吗?

这样做10k次不会生成任何逻辑删除:(假设分区之前不存在)

<label> Your Name (required)
    [text* your-name] </label>

因此此查询可以正常工作:

<label> Your Name (required)
    [dynamictext* your-name "CF7_GET key='your-name'"] </label>

这样做10k会产生很多墓碑:(假设分区之前不存在)

update "Record" Set "AllSetItems" = "AllSetItems" + {'abc'} where "RecordId" = 5 and "Field" = 'xyz';
update "Record" Set "AllSetItems" = "AllSetItems" - {'abc'} where "RecordId" = 5 and "Field" = 'xyz';

更新后,此查询由于墓碑过多而失败:

Select * from "Record" where "RecordId" = 5 and "Field" = 'xyz';

1 个答案:

答案 0 :(得分:1)

我相信这可以按预期进行。阅读本文(尽管有些陈旧),看看它是否可以解释您的情况。

https://jsravn.com/2015/05/13/cassandra-tombstones-collections/#lists