Cassandra 慢速超时500毫秒/跨节点警告

Cassandra 慢速超时500毫秒/跨节点警告,cassandra,cassandra-3.0,datastax-java-driver,Cassandra,Cassandra 3.0,Datastax Java Driver,我有一个树节点Cassandra集群 当我从Java客户端请求大量数据时,我在服务器端收到以下警告: WARN SELECT * FROM [...] time 789 msec - slow timeout 500 msec/cross-node WARN SELECT * FROM [...] time 947 msec - slow timeout 500 msec/cross-node WARN SELECT * FROM [...] time 1027 msec - slow t

我有一个树节点Cassandra集群


当我从Java客户端请求大量数据时,我在服务器端收到以下警告:

 WARN SELECT * FROM [...] time 789 msec - slow timeout 500 msec/cross-node
 WARN SELECT * FROM [...] time 947 msec - slow timeout 500 msec/cross-node
 WARN SELECT * FROM [...] time 1027 msec - slow timeout 500 msec/cross-node
 WARN SELECT * FROM [...] time 819 msec - slow timeout 500 msec/cross-node
客户端,我以以下异常结束:

java.util.concurrent.ExecutionException: com.datastax.driver.core.exceptions.TransportException: [/x.y.z.a:9042]连接已关闭

我的服务器配置yaml如下:

 # How long the coordinator should wait for read operations to complete
 read_request_timeout_in_ms: 5000
 # How long the coordinator should wait for seq or index scans to complete
 range_request_timeout_in_ms: 10000
 # How long the coordinator should wait for writes to complete
 write_request_timeout_in_ms: 2000
 # How long the coordinator should wait for counter writes to complete
 counter_write_request_timeout_in_ms: 5000
 # How long a coordinator should continue to retry a CAS operation
 # that contends with other proposals for the same row
 cas_contention_timeout_in_ms: 1000
 # How long the coordinator should wait for truncates to complete
 # (This can be much longer, because unless auto_snapshot is disabled
 # we need to flush first so we can snapshot before removing the data.)
 truncate_request_timeout_in_ms: 60000
 # The default timeout for other, miscellaneous operations
 request_timeout_in_ms: 10000
我找不到任何500毫秒超时的参考。那么我如何调整这个超时呢?在查询大量分区/数据时,是否有避免以异常结束的选项

作为旁注,我使用future以异步方式检索数据:

ms中默认的慢速查询日志超时值为500,不是实际超时值,只是通知/日志记录。如果您希望它更高,您可以在yaml中更新它

不过,500毫秒的速度很慢,这可能表明您的环境或查询中出现了问题。虽然这种情况很少见,但可能只是周期性的GCs,可以通过客户端推测性重试来缓解。

默认的慢速查询日志超时时间为500,不是实际超时时间,只是通知/日志记录。如果您希望它更高,您可以在yaml中更新它


不过,500毫秒的速度很慢,这可能表明您的环境或查询中出现了问题。虽然这种情况很少见,但它可能只是周期性的GCs,可以通过客户端推测性重试来缓解。

当我从Java客户端请求大量数据时-是的,不要这样做。我的意思是通过futures以异步方式从多个分区检索大量数据。当我从Java客户机请求大量数据时,每个分区都遵循最佳实践-是的,不要这样做。我的意思是用futures异步方式从多个分区检索大量数据。每个分区都遵循最佳实践,而不是回答我的第一部分问题。但是客户端的连接关闭执行异常呢?我在服务器端日志中没有任何明确的内容,除了我在第一篇文章中显示的警告,您解释说这并不重要,因为它没有显示实际发生的超时,但我的大型查询在客户端失败,出现了意外的连接关闭异常。。谢谢请求真的失败了吗?客户端应将其移动到下一个主机。出现这种异常的原因有很多,包括节点从OOM向下移动,查询错误,网络问题,操作系统配置问题。基本上是一个连接重置。关于我的第一部分问题的回答。但是客户端的连接关闭执行异常呢?我在服务器端日志中没有任何明确的内容,除了我在第一篇文章中显示的警告,您解释说这并不重要,因为它没有显示实际发生的超时,但我的大型查询在客户端失败,出现了意外的连接关闭异常。。谢谢请求真的失败了吗?客户端应将其移动到下一个主机。出现这种异常的原因有很多,包括节点从OOM向下移动,查询错误,网络问题,操作系统配置问题。基本上是连接重置。
 import com.datastax.driver.core.ResultSetFuture;