我有一个cassandra 2.0.5群集设置与3个节点。多个服务使用具有单独密钥空间的相同群集。由于表中blob条目的大小,遍历所有行的查询会导致OutOfMemory错误并导致群集崩溃。这对我来说是不能接受的,因为不同的服务使用相同的群集,而且不应该影响其他服务。如何覆盖default_fetch_size对cassandra集群或密钥空间的任何查询?
现在,有一种方法可以限制每次查询使用fetchSize参数在一次查询时加载到内存中的行数,其中大多数驱动程序支持cluster 2.0协议。
default_fetch-size值为5000,我想将此值覆盖为像500这样的小值以避免OOM错误。我不能假设所有客户端都会在发出昂贵的查询时使用小的fetchSize。有没有办法做到这一点?我在cassandra.yaml中找不到任何此类配置。
我可以为每个密钥空间级别设置此设置,因此对特定密钥空间的所有查询都将具有较小的default_fetch_size?