java - com.datastax.oss.driver.api.core.DriverTimeoutException : query 'SELECT * FROM system.peers' timed out after PT0. 5S

标签 java cassandra datastax-java-driver connection-timeout

我正在尝试将 Kafka Streams 聚合结果插入到 Cassandra 中。但是我在 500 毫秒后连接期间出现超时错误。为什么会发生这种情况以及如何增加此超时或是否可以关闭此查询?

Caused by: com.datastax.oss.driver.api.core.DriverTimeoutException: query 'SELECT * FROM system.peers' timed out after PT0.5S
    at com.datastax.oss.driver.api.core.DriverTimeoutException.copy(DriverTimeoutException.java:34)
    at com.datastax.oss.driver.internal.core.util.concurrent.CompletableFutures.getUninterruptibly(CompletableFutures.java:149)
    at com.datastax.oss.driver.api.core.session.SessionBuilder.build(SessionBuilder.java:612)
    at aggregator.sink.CassandraSink.connect(CassandraSink.java:94)
    at aggregator.sink.CassandraSink.init(CassandraSink.java:62)
    at aggregator.sink.CassandraSink_ClientProxy.init(CassandraSink_ClientProxy.zig:253)
    at org.apache.kafka.streams.processor.internals.ProcessorNode.lambda$init$0(ProcessorNode.java:97)
    at org.apache.kafka.streams.processor.internals.metrics.StreamsMetricsImpl.maybeMeasureLatency(StreamsMetricsImpl.java:806)
    at org.apache.kafka.streams.processor.internals.ProcessorNode.init(ProcessorNode.java:94)

datastax-java-driver 配置:

datastax-java-driver.basic.contact-points.0=10.0.111.61:9042
datastax-java-driver.basic.load-balancing-policy.local-datacenter=datacenter1
datastax-java-driver.basic.session-keyspace=my_ks
datastax-java-driver.basic.request.timeout=20 seconds
datastax-java-driver.advanced.auth-provider.class=PlainTextAuthProvider
datastax-java-driver.advanced.auth-provider.username=${CASSANDRA_USR}
datastax-java-driver.advanced.auth-provider.password=${CASSANDRA_PWD}
datastax-java-driver.advanced.protocol.version=V4
datastax-java-driver.advanced.timestamp-generator.force-java-clock=true
datastax-java-driver.advanced.connection.init-query-timeout=10000 milliseconds
datastax-java-driver.advanced.connection.pool.remote.size=10
datastax-java-driver.advanced.connection.pool.local.size=5
datastax-java-driver.advanced.heartbeat.timeout=2000 milliseconds

<dependency>
  <groupId>com.datastax.oss</groupId>
  <artifactId>java-driver-core</artifactId>
  <version>4.5.0</version>
</dependency>

<dependency>
  <groupId>com.datastax.oss</groupId>
  <artifactId>java-driver-query-builder</artifactId>
  <version>4.5.0</version>
</dependency>

最佳答案

如果您正在使用 Datastax Kafka 连接器,并且想要更改 java 驱动程序配置,请将以上内容添加到您的 connect-standalone.properties 中。文件(或任何您命名的文件)。命名空间配置 datastax-java-driver .
特别是,将此添加到我的 connect-standalone.properties文件让超时为我工作:

datastax-java-driver.advanced.connection.init-query-timeout=2000 milliseconds
如需更多信息,请参阅 the official documentation .
但是,请记住,有时真正的问题不是超时太低,而是超时的事实是不同潜在问题的征兆。见 here at Datastax community对于与此相关的一个讨论。

关于java - com.datastax.oss.driver.api.core.DriverTimeoutException : query 'SELECT * FROM system.peers' timed out after PT0. 5S,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62410121/

相关文章:

java - 使用 Java 驱动程序的 DSE 图形,如何遍历图形(如树)

使用 commons-digester 进行解析时出现 java.lang.NumberFormatException

java - 计算对象的 'weight',howto

java - 从 System.currentTimeMillis 值中去除秒和毫秒

Java:将数组写入文本文件

mongodb - Elasticsearch MongoDB Cassandra用于可扩展架构

sql - 如何在 Cassandra CQL 中创建外键

java - Datastax Java 驱动程序自定义重试策略

java - 如何使用部分主键使用 Java 驱动程序批量删除 Cassandra 中的行?

ssl - 如何使用 DataStax Java 驱动程序设置 Cassandra 客户端到节点加密?