使用 LOCAL_QUORUM 读取但得到“ReadTimeoutException:在一致性 ALL 下读取查询期间 Cassandra 超时”

问题描述 投票:0回答:1

当我们尝试获取具有一致性级别的数据时,我们在应用程序中看到读取超时异常。

LOCAL_QUORUM

我们没有看到上述异常,对于某些调用的所有读取操作,我们都看到了异常。

卡桑德拉版本:3.11.0
  • 驱动程序版本:3.3.1
  • 数据中心:2个
  • 每个DC的节点数量:10
  • 复制因子:2
  • 想知道为什么它采用一致性级别为
com.datastax.driver.core.exceptions.ReadTimeoutException: \ Cassandra timeout during read query at consistency ALL \ (4 responses were required but only 3 replica responded)

,即使我们将其指定为

ALL
    

cassandra
1个回答
0
投票
LOCAL_QUORUM

一致性未用于执行应用程序的常规读取请求。正如您所说,应用程序通过

ALL
请求数据。
更有可能的是,触发读取修复,这是一致性为 

LOCAL_QUORUM

的读取,以便修复任何不一致的副本。一定比例的读取会触发读取修复,因为正在读取的表具有非零读取修复机会:

ALL

请注意,后台修复已在 Cassandra 4.0 (
CASSANDRA-13910

) 中删除,因此这些表选项不再有效。 顺便说一句,C* 3.11.0 于 2017 年发布。此后发布了数百个针对已知问题的修复程序,因此请考虑将集群升级到最新的 3.11 版本(在撰写本文时,C* 3.11.17 已发布) 2024 年 4 月)。干杯!

© www.soinside.com 2019 - 2024. All rights reserved.