gpt4 book ai didi

Cassandra - 重新插入已删除的列

转载 作者:行者123 更新时间:2023-12-02 22:27:15 25 4
gpt4 key购买 nike

我只是在我创建的列族上运行一些简单的测试(插入和删除)。我观察到,虽然针对行键插入新列,但不会插入最近删除的列。

例如:

rowkey1::name1-val1
name2-val2

删除 name1 后,如果我再次尝试插入它,我仍然得到

rowkey1::name2-val2 并且不会还原为 name1-val1、name2-val2。

当我尝试通过我的代码插入它时出现问题(使用 Pelops Java 客户端)以下是我用于插入的代码片段:

            Mutator mutator = Pelops.createMutator("poolname");
Column column = new Column(bufcolname);
column.setValue(bufcolval);
column.setTimestamp(new Date().getTime());
mutator.writeColumn("MyColumnFamily",userId, column);
mutator.execute(ConsistencyLevel.ONE);

谢谢

最佳答案

这很可能是时间戳问题。

如果写入冲突,cassandra 使用时间戳来决定获胜者。在上面的代码中,您使用毫秒设置时间戳,但按照惯例,cassandra 在 micro seconds 中使用时间戳。 .

Timestamps can be anything you like, but microseconds since 1970 is a convention.

因此您的删除可能使用了微秒的时间戳,这比添加的毫秒时间戳要多,因此添加将始终被删除隐藏。

关于Cassandra - 重新插入已删除的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12781087/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com