我有4个节点dse 5.1.2 avss上的Cassandra集群每个节点都有3 gb data.i我试图查询该数据。我知道我不应该做下面的查询,因为它在cassandra中有不良影响。但我观察到的是
select * works,但select count(*)失败
在同一个表上,协调器超时。当读取时在后台执行相同的操作时,为什么会有区别。 我的群集100%修复,并且没有在该表中找到墓碑。我还在cqlsh命令中增加了读取请求超时。
我收到以下查询错误
select count(*) from xxx.xxxx;
ReadTimeout: Error from server: code=1200 [Coordinator node timed out waiting for replica nodes' responses] message="Operation timed out - received only 0 responses." info={'received_responses': 0, 'required_responses': 1, 'consistency': 'ONE'}
答案 0 :(得分:0)
如果您通过cqlsh
运行这些命令,那么它们并不完全相同。
cqlsh
的默认限制为10000行,因此,除非您更改了select *
所带来的全部限制。
select count(*)
将在所有节点上进行全表扫描以获取计数,从而超时。