当我们尝试获取具有一致性级别的数据时,我们在应用程序中看到读取超时异常。
LOCAL_QUORUM
我们没有看到上述异常,对于某些调用的所有读取操作,我们都看到了异常。
卡桑德拉版本:3.11.0
com.datastax.driver.core.exceptions.ReadTimeoutException: \
Cassandra timeout during read query at consistency ALL \
(4 responses were required but only 3 replica responded)
,即使我们将其指定为
ALL
。LOCAL_QUORUM
一致性未用于执行应用程序的常规读取请求。正如您所说,应用程序通过
ALL
请求数据。更有可能的是,触发读取修复,这是一致性为 LOCAL_QUORUM
的读取,以便修复任何不一致的副本。一定比例的读取会触发读取修复,因为正在读取的表具有非零读取修复机会:
ALL
请注意,后台修复已在 Cassandra 4.0 (CASSANDRA-13910
) 中删除,因此这些表选项不再有效。 顺便说一句,C* 3.11.0 于 2017 年发布。此后发布了数百个针对已知问题的修复程序,因此请考虑将集群升级到最新的 3.11 版本(在撰写本文时,C* 3.11.17 已发布) 2024 年 4 月)。干杯!