【发布时间】:2017-05-08 10:53:25
【问题描述】:
想象一下在 2 个节点的 Cassandra 集群上的一个最简单的 Cassandra 表。
我发出一条记录的删除命令。想象一下,节点#2 当时已关闭。 Cassandra 客户端收到来自 node#1 的成功响应并愉快地继续(命令的一致性 lvl = 1)。
然后节点#2 恢复并尝试与节点#1 同步数据。节点#2 声称它有一个节点#1 没有的记录。他们如何确定这是从节点#1 中删除记录的删除操作,而不是向节点#2 添加记录的插入操作(由于任何原因没有到达节点#1)?我谈论删除的原因是我假设在删除之后,Cassandra 不会存储已删除项目的时间戳。
任何有关该问题的有用链接将不胜感激。
我所说的特别是Hinted-Handoff 场景或Read/Repairs。
【问题讨论】:
标签: cassandra