如何为Cassandra设置读取请求超时

时间:2019-11-28 11:12:04

标签: java cassandra datastax

我尝试为具有不同读取请求超时的cassandra创建新端点。具有大数据请求的超时很大的端点会响应。 我使用com.datastax.cassandra驱动程序和带read_request_timeout参数的cassandra-default.yaml找到了Scala代码。如何在“群集”构建器或代码的其他位置设置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 个答案:

答案 0 :(得分:0)

使用:在查询级别进行设置

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