Cassandra意外失败,具体取决于WHERE子句

时间:2019-07-02 20:18:13

标签: cassandra nosql

我正在尝试对具有各种WHERE子句的大型Cassandra表(10m行)执行SELECT语句。我是从Datastax DevCenter应用程序发布这些的。我在where子句中使用的列具有二级索引。

where子句类似于WHERE fileid = 18000WHERE 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 个答案:

答案 0 :(得分:1)

您的查询可能由于READ超时(等待读取数据的超时)而失败。您可以尝试使用read_request_timeout_in_ms: 200000(持续200秒)以更大的读取超时时间更新Cassandra.yaml,以提供输出而不是错误。但是,如果您试图证明用例中的Cassandra效率低下,那么此错误似乎是一种很好的解决方法。