我有一个连接到我们的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版本。
答案 0 :(得分:3)
来自https://issues.apache.org/jira/browse/CASSANDRA-9328
在有争议的情况下协调员会失去追踪 是否可以应用它提交给Paxos的价值(见 CASSANDRA-6013)。在这一点上,我们不能做任何其他事情 回答“抱歉,我不知道”。并且因为WriteTimeoutException 已经意味着“我不知道”,我们也把它扔在那个案子里,甚至 虽然这不是一个适当的超时本身