我在使用数据存储驱动程序1.0.3和同步更新(executeAsync)的3个节点的集群中使用datastax cassandra 2.0.9
在我的测试中,我对现有记录列表执行更新序列,这些记录会更改这些记录中的某些值。
我看到的问题是datastax驱动程序每次都成功响应,但事实是一些记录保持不变。重要的事实是它永远不会发生在一个节点集群上。
Keyspace RF为1,读取一致性为默认值 - 1
我只是想知道,你会如何建议调查这个问题,因为最初的尝试并没有给出太多结果。 Cassandra的日志看起来不错。
这可能是数据存储驱动程序的问题吗?如果是的话,你能指出错误跟踪系统中的相应错误吗?
请分享你的想法。感谢。
答案 0 :(得分:0)
此行为的最常见原因(如果不是唯一的原因)是群集节点之间的时间不同步。然后,如果您的某个节点使用准确的时间戳插入数据,而另一个节点(时间路径落后)尝试使用较旧的时间戳更新数据,则没有错误,但由于“最后写入获胜”,数据不会更新方法选择第一次写作为胜利者。