【发布时间】:2015-07-24 07:34:35
【问题描述】:
谁能解释为什么我的 Cassandra 集群中每隔 4-5 分钟就会发生一次读取超时。我几乎可以始终如一地看到这一点,并且能够始终如一地重现这一点。
读取吞吐量保持在每秒 1 个请求,集群中没有发生写入或压缩。读取超时在 cassandra.yaml 文件中配置为 5 秒。我正在使用 datastax java 驱动程序 2.1.14。
超时期间的跟踪不起作用。在 cqlsh 中第二次手动读取相同的行键成功。看着这个https://issues.apache.org/jira/browse/CASSANDRA-8194 jira,它看起来与我看到的问题相似。我们使用具有此修复程序的 dse 4.6.2。尝试在我的集群中禁用身份验证,但看到相同的 4-5 分钟读取超时。
请提出解决此问题的方法。
谢谢, 斯里瓦桑
【问题讨论】:
-
您的问题似乎很原始,但我会怀疑您的架构设计。还有一些问题是,关于客户端是否有小于服务器端的套接字超时。 2.1.4 确实有一个与此相关的错误,但对于分布式系统,您的超时似乎非常低。
-
架构非常简单。只需对行键进行选择查询。该行不大,可能是 1 或 2 KB。套接字读取超时设置为 60 秒。我正在使用 2.0.10 驱动程序。尝试了驱动程序中最新的推测执行功能,这对我也没有帮助。大多数时间(大约 80% 的时间)客户端的显式重试不会导致超时。我怀疑超时的外部因素。
标签: cassandra datastax-java-driver cassandra-jdbc