Cassandra Cluster更新丢失

时间:2015-03-20 11:21:28

标签: cassandra-2.0 datastax datastax-java-driver

我在使用数据存储驱动程序1.0.3和同步更新(executeAsync)的3个节点的集群中使用datastax cassandra 2.0.9

在我的测试中,我对现有记录列表执行更新序列,这些记录会更改这些记录中的某些值。

我看到的问题是datastax驱动程序每次都成功响应,但事实是一些记录保持不变。重要的事实是它永远不会发生在一个节点集群上。

Keyspace RF为1,读取一致性为默认值 - 1

我只是想知道,你会如何建议调查这个问题,因为最初的尝试并没有给出太多结果。 Cassandra的日志看起来不错。

这可能是数据存储驱动程序的问题吗?如果是的话,你能指出错误跟踪系统中的相应错误吗?

请分享你的想法。感谢。

1 个答案:

答案 0 :(得分:0)

此行为的最常见原因(如果不是唯一的原因)是群集节点之间的时间不同步。然后,如果您的某个节点使用准确的时间戳插入数据,而另一个节点(时间路径落后)尝试使用较旧的时间戳更新数据,则没有错误,但由于“最后写入获胜”,数据不会更新方法选择第一次写作为胜利者。