使用DowngradingConsistencyRetryPolicy对Consistency Level Quorum和Retry Policy进行读写

时间:2016-02-29 08:15:36

标签: cassandra

我使用带有仲裁的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法定数量读取此单元格时会发生什么?我是否收到陈旧数据或某些错误。当读修复发生时?

1 个答案:

答案 0 :(得分:0)

在复制因子为3且读取一致性级别为QUORUM的单个数据中心群集中,给定行的3个副本中的2个必须响应以完成读取请求。如果联系的副本具有不同版本的行,则具有最新版本的副本将返回所请求的数据。在后台,检查第三个副本与前两个副本的一致性,如果需要,将为过时的副本启动读取修复。

Read Consistency level examples

读取修复还取决于在columnfamily级别设置的read_repair_chance的值。默认值为0.10,这意味着100个读取请求中的10个将启动读取修复