Cassandra 慢速超时500毫秒/跨节点警告
我有一个树节点Cassandra集群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
当我从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;