Cassandra没有回滚,那么Cassandra如何删除失败的写入?

时间:2015-05-30 08:49:13

标签: cassandra cassandra-2.0

假设我有一个复制因子(RF)= 2的2节点集群。 我使用Consistency 2触发插入。当客户端等待响应时,Cassandra开始写入这两个节点。在一个节点之间失败并且无法完成写入,而在其他节点上写入成功。客户端无法获得成功消息,因为无法满足一致性。 Cassandra没有回滚。那么Cassandra如何以及何时从该节点中删除插入的记录或将其标记为“不被使用”?

相关问题:Does Cassandra write to a node(which is up) even if Consistency cannot be met?

1 个答案:

答案 0 :(得分:5)

没有。 Cassandra将尝试复制每次写入操作的数据,如果无法满足一致性级别,将通知您的应用程序。但是Cassandra并没有回滚写作。

在这种情况下,您可能想要做的是为您的读取使用更高的CL。例如。使用CL QUORUM将从两个节点读取数据,并在其中一个节点丢失时自动修复数据。