我遇到一个令人费解的问题,我的cassandra读取没有返回键'K'的值。我有一个密钥,几乎在2周前被插入到一个列族中,当我连续8次使用CQLSH查询该密钥时,2次没有返回值。 6次正确显示结果。我的键空间的复制因子是3.
此密钥是使用QUORUM一致性(Java Hector客户端)编写的。我正在使用CQLSH读取它,它的默认一致性为1。到目前为止,我还未能对此作出任何解释。有什么想法吗?
答案 0 :(得分:2)
原因是你不尊重一致性水平的不平衡:
(WRITE CL + READ CL)>复制因素
RF = 3 - > QUORUM = 2
所以你的不满意说
((WRITE CL)2 +(READ CL)1)> 3
2 + 1> 3 =错误
在this post中,您可以找到如何实现一致性。但是,您可能有兴趣调整read repair chance
尝试使用CONSISTENCY
命令
cqlsh> CONSISTENCY QUORUM;
再次执行阅读
HTH, 卡罗