0

我有三个节点的 syclla 集群。我有具有 3 个复制因子的键空间。我使用 datastax-java-driver 3.6.0 版本和 Scylla 3.0.0 版本。当我尝试读取一致性级别 = LOCAL_QUORUM 的数据时,我收到以下错误消息,我认为这是不可能的。至于如果我使用 LOCAL_QUORUM 2 个节点就足够了 3 个复制因子。

是错误还是我错过了什么?

com.datastax.driver.core.exceptions.ReadTimeoutException:Cassandra 在一致性读取查询期间超时 LOCAL_QUORUM(需要 3 个响应,但只有 2 个副本响应) LOCAL_QUORUM(需要 3 个响应,但只有 2 个副本响应)

4

1 回答 1

3

这里发生的事情是 Scylla 选择进行概率读取修复并在达到 CL 之前检测到不匹配。此时,它开始在所有三个副本之间进行修复,并且无法从所有副本中读取(由于过载或一个节点在操作进行时崩溃/重新启动)。您可以禁用概率读取修复来避免它。

于 2019-05-12T08:10:04.330 回答