【发布时间】:2017-04-05 05:47:31
【问题描述】:
我在使用 Cassandra 的 DataSax php 驱动程序时遇到超时问题。 每当我执行某个命令时,它总是在 10 秒后抛出此异常:
PHP Fatal error: Uncaught exception 'Cassandra\Exception\TimeoutException' with message 'Request timed out'
我的php代码是这样的:
$cluster = Cassandra::cluster()->build();
$session = $cluster->connect("my_base");
$statement = new Cassandra\SimpleStatement("SELECT COUNT(*) as c FROM my_table WHERE my_colunm = 1 AND my_colunm2 >= '2015-01-01' ALLOW FILTERING")
$result = $session->execute($statement);
$row = $result->first();
我在 cassandra.yaml 中的设置是:
# How long the coordinator should wait for read operations to complete
read_request_timeout_in_ms: 500000
# How long the coordinator should wait for seq or index scans to complete
range_request_timeout_in_ms: 1000000
# 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: 50000
# 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: 50000
# 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: 1000000
我已经试过了:
$result = $session->execute($statement,new Cassandra\ExecutionOptions([
'timeout' => 120
])
);
还有这个:
$cluster = Cassandra::cluster()->withDefaultTimeout(120)->build();
还有这个:
set_time_limit(0)
它总是在 10 秒后抛出 TimeoutException .. 我正在使用 Cassandra 3.6 有什么想法吗?
【问题讨论】:
-
您找到解决方案了吗?我有同样的问题 - 无论我改变什么,都会在 10 秒后超时。