在Cassandra写作时写入一致性未得到满足

时间:2018-01-09 05:20:44

标签: cassandra cassandra-3.0

我无法理解在写入过程中无法满足所需写入一致性级别的情况。对于例如假设我有3个节点,2个在一个数据中心(dc1),其余的在另一个数据中心(dc2)。网络拓扑策略。现在,如果我用一致性级别3编写并且其中一个节点已关闭,那究竟会发生什么? 由于2个节点已启动,因此它们将能够完成写入过程,但由于无法满足一致性级别,因此协调器节点将向客户端返回写入错误。 在2个节点中写入的数据会发生什么变化?客户端不会期望任何节点中的任何数据,因为他收到了写入错误。

There is no rollback in Cassandra, then how does Cassandra remove failed writes? 根据以上链接,Cassandra不会回滚写入。

Does Cassandra write to a node(which is up) even if Consistency cannot be met? 上面链接中接受的答案表明"在写入成功的节点上,数据实际被写入并且最终将被回滚。"

1 个答案:

答案 0 :(得分:1)

  

如果协调员无法写入足够的副本来满足   请求一致性级别,它会抛出一个不可用的异常和   不执行任何写操作。

如果协调员在写入之前并不知道副本失败,那么协调器将抛出超时异常,客户端将不得不处理它。 (重试政策)

Cassandra Write Request