Cassandra CAS删除不起作用?

Cassandra CAS删除不起作用?,cassandra,Cassandra,我在一个由三个节点组成的集群中使用cassandra 2.0.6和datastax java cassandra驱动程序2.0.0 我正在进行插入,然后立即删除: “从x中删除,其中键=?如果版本=?” 然后立即选择以检查删除是否成功 结果是有时是,有时不是。所以我想知道在这些版本中是否真的实现了CAS DELETE 似乎只使用“IF EXISTS”实现CAS DELETE。。。不确定可以在哪个版本中找到它,或者它是否已发布?使用仲裁一致性进行删除,然后进行选择?卡桑德拉最终是一致的,所以你可能

我在一个由三个节点组成的集群中使用cassandra 2.0.6和datastax java cassandra驱动程序2.0.0

我正在进行插入,然后立即删除: “从x中删除,其中键=?如果版本=?”

然后立即选择以检查删除是否成功

结果是有时是,有时不是。所以我想知道在这些版本中是否真的实现了CAS DELETE


似乎只使用“IF EXISTS”实现CAS DELETE。。。不确定可以在哪个版本中找到它,或者它是否已发布?

使用仲裁一致性进行删除,然后进行选择?卡桑德拉最终是一致的,所以你可能不会得到最新的结果。可以通过将一致性(即仲裁)调整10倍来解决此问题!奇怪的是,问题仍然存在。。甚至在使用所有一致性级别时。您提到的问题在2.0.7中得到了修复,该版本最近发布。我正在使用CAS DELETE,默认情况下使用的是ConsistenceLevel.QUORUM。在这之后,根据Chris Lohfink的建议,我将测试切换为使用ConsistenceLevel.QUORUM进行选择,但它有时会失败,有时会通过。即使对选择使用ConsistencyLevel.ALL,也会发生同样的情况。在所有cassandra节点上配置ntpd后,问题就解决了!