我有三个节点的Syclla集群。我有一个有3个复制因子的keyspace。我使用的是datastax-java-driver 3.6.0版本和Scylla 3.0.0版本。当我试图用consistency level = LOCAL_QUORUM读取我的数据时,我得到了下面的错误消息,这在我看来是不可能的。只要我使用LOCAL_QUORUM,2个节点就足以满足3个复制因子。
是bug还是我漏掉了什么?
一致性com.datastax.driver.core.exceptions.ReadTimeoutException:读取查询期间com.datastax.driver.core.exceptions.ReadTimeoutException: Cassandra超时(需要3个响应,但只有2个副本响应) com.datastax.driver.core.exceptions.ReadTimeoutException: Cassandra在一致性LOCAL_QUORUM读取查询期间超时(需要3个响应,但只有2个副本响应)com.datastax.driver.core.exceptions.ReadTimeoutException: Cassandra在一致性LOCAL_QUORUM读取查询期间超时(需要3个响应,但只有2个副本响应)
发布于 2019-05-12 16:10:04
这里发生的情况是,Scylla选择进行概率读取修复,并在到达CL之前检测到不匹配。在这一点上,它开始在所有三个副本之间进行修复,并且无法从所有副本中读取(由于过载或一个节点崩溃/在操作进行期间重新启动)。您可以禁用概率读取修复以避免它。
https://stackoverflow.com/questions/56077917
复制相似问题