com.datastax.oss.driver.api.core.DriverTimeoutException: время ожидания запроса «SELECT * FROM system.peers» истекло после PT0.5S - PullRequest
4 голосов
/ 16 июня 2020

Я пытаюсь обработать вставки результатов агрегирования 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 config:

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>

1 Ответ

2 голосов
/ 26 августа 2020

Если вы используете Datastax Kafka Connector и хотите изменить конфигурацию java драйвера, вы добавляете то, что у вас есть выше, в свой connect-standalone.properties файл (или как бы вы его ни назвали). Конфигурации пространства имен с datastax-java-driver.

В частности, добавление этого в мой connect-standalone.properties файл привело к тому, что у меня работал тайм-аут:

datastax-java-driver.advanced.connection.init-query-timeout=2000 milliseconds

Для получения дополнительной информации см. официальный документация .

Однако имейте в виду, что иногда настоящая проблема заключается не в том, что тайм-аут слишком мал, а в том, что тайм-аут является симптомом другой основной проблемы. См. здесь, в сообществе Datastax , где есть обсуждение, связанное с этим.

...