如何为 cassandra 设置读取请求超时
Posted
技术标签:
【中文标题】如何为 cassandra 设置读取请求超时【英文标题】:How to set read request timeout for cassandra 【发布时间】:2020-03-24 00:47:21 【问题描述】:我尝试为具有不同读取请求超时的 cassandra 创建新端点。具有大数据请求的具有大超时的端点响应。 我找到了带有 com.datastax.cassandra 驱动程序和带有 read_request_timeout 参数的 cassandra-default.yaml 的 Scala 代码。如何在 Cluster builder 或代码的其他地方设置 read_request_timeout ?
Cluster
.builder
.addContactPoints(cassandraHost.split(","): _*)
.withPort(cassandraPort)
.withRetryPolicy(DefaultRetryPolicy.INSTANCE)
.withLoadBalancingPolicy(
new TokenAwarePolicy(DCAwareRoundRobinPolicy.builder().build())).build
# How long the coordinator should wait for read operations to complete
read_request_timeout_in_ms: 5000
【问题讨论】:
【参考方案1】:在查询级别使用:
session.execute(
new SimpleStatement("CQL HERE").setReadTimeoutMillis(65000));
如果你想在集群构建时设置使用:
Cluster cluster = Cluster.builder()
.addContactPoint("127.0.0.1")
.withSocketOptions(
new SocketOptions()
.setConnectTimeoutMillis(2000))
.build();
Socket Options
【讨论】:
谢谢,代码的第二部分有 .setReadTimeoutMillis 而不是 .setConnectTimeoutMillis。以上是关于如何为 cassandra 设置读取请求超时的主要内容,如果未能解决你的问题,请参考以下文章