我正试图对一个包含各种where子句的大型cassandra表(10m行)执行select语句。我从datastax devcenter应用程序发布这些。我在where子句中使用的列有二级索引。
where子句看起来像 WHERE fileid = 18000
或者 WHERE fileid < 18000
. 在本例中,第二个where子句导致错误 Unable to execute CQL script on 'connection1': Cassandra failure during read query at consistency ONE (1 responses were required but only 0 replica responded, 1 failed)
我不知道为什么它会以这种不可预知的方式失败。有什么想法吗?
注:我知道这是一个可怕的想法,Cassandra是不打算用这种方式。我发布这些查询并计时,以向其他人证明cassandra对于我们的用例来说,与其他解决方案相比是多么低效。
1条答案
按热度按时间jaxagkaj1#
您的查询可能由于读取超时(等待读取数据的超时)而失败。您可以尝试使用更大的读取超时时间来更新cassandra.yaml
read_request_timeout_in_ms: 200000
(对于200秒)给出一个输出而不是一个错误。然而,如果您试图在用例中证明cassandra的低效性,那么这个错误似乎是一个很好的方法。