我使用带有仲裁的CL的读写查询,但我使用了DowngradingConsistencyRetryPolicy来获得更高的可用性。以下情况会发生什么:
群集有3个节点,RF为3.由于重试策略,一个写入查询导致CL ONE。因此,在Node 0 和Node 1 时,单元格的值为v 0 ,时间戳为t 0 。节点 2 的时间戳为t 1 的v 1 。 t 1 &gt;吨<子> 0 子>。
当我尝试使用CL法定数量读取此单元格时会发生什么?我是否收到陈旧数据或某些错误。当读修复发生时?
答案 0 :(得分:0)
在复制因子为3且读取一致性级别为QUORUM的单个数据中心群集中,给定行的3个副本中的2个必须响应以完成读取请求。如果联系的副本具有不同版本的行,则具有最新版本的副本将返回所请求的数据。在后台,检查第三个副本与前两个副本的一致性,如果需要,将为过时的副本启动读取修复。
Read Consistency level examples
读取修复还取决于在columnfamily级别设置的read_repair_chance的值。默认值为0.10
,这意味着100个读取请求中的10个将启动读取修复