使用轻量级事务时偶发的Cassandra WriteErrors

时间:2016-12-05 17:54:14

标签: cassandra

我有一个连接到我们的Cassandra集群的服务,每天使用Lightweight (ACID) Transactions执行成千上万的查询来实现所谓的here共识系统。在大多数情况下它工作正常,但偶尔,写入将失败,错误说"操作超时 - 只收到1个响应" (或者不太常见,只有0个回复)。我们正在使用Datastax Python驱动程序。发生错误时,完整的错误行(在堆栈跟踪的末尾)显示为:

WriteTimeout: Error from server: code=1100 [Coordinator node timed out waiting for replica nodes' responses] message="Operation timed out - received only 1 responses." info={'received_responses': 1, 'required_responses': 2, 'consistency': 'LOCAL_SERIAL'}

这似乎是生产Cassandra设置中不时出现的事情吗?或者看起来我们的Cassandra集群或网络存在配置问题?

有关我们的Cassandra集群的一些信息:它是一个分布在2个Amazon EC2区域(每个区域4个节点)的8节点设置。所有节点都运行Datastax Cassandra发行版的3.3.0版本。

1 个答案:

答案 0 :(得分:3)

来自https://issues.apache.org/jira/browse/CASSANDRA-9328

  

在有争议的情况下协调员会失去追踪   是否可以应用它提交给Paxos的价值(见   CASSANDRA-6013)。在这一点上,我们不能做任何其他事情   回答“抱歉,我不知道”。并且因为WriteTimeoutException   已经意味着“我不知道”,我们也把它扔在那个案子里,甚至   虽然这不是一个适当的超时本身