Гарантия атомарности/изоляции Cassandra в режимах восстановления

Я знаю, что Cassandra предлагает атомарность и изоляцию для пакетных мутаций на уровне строк, начиная с версии 1.1 (http://www.datastax.com/dev/blog/row-level-isolation)

Но распространяются ли эти гарантии на все механизмы ремонта (намекал на передачу обслуживания, ремонт чтения и ремонт узла)?

Я предполагаю, что эти операции также используют пакетные мутации, и поэтому можно утверждать, что эти гарантии сохраняются. Но я не знаю кода и поэтому не могу ни доказать, ни опровергнуть этот момент.

Я также не нашел источника, в котором рассказывается об атомарности и гарантиях изоляции для вышеупомянутых механизмов восстановления.

Так что, может быть, кто-то из вас может дать мне источник или может обосновать, действуют ли эти гарантии и в этих случаях?

С уважением
Стефан


person snd    schedule 08.05.2013    source источник


Ответы (2)


Ремонт работает на стабильном уровне, а не на отдельных мутациях. Но поскольку любая отдельная мутация не будет разделена на несколько sstables, вы получите такую ​​же гарантию изоляции во время исправления.

person jbellis    schedule 08.05.2013

Согласно этой заявке, чтение-восстановление может нарушить атомарность.

Если какая-то реплика потеряла обновление, а позже вы запрашиваете только некоторые ячейки/строки, затронутые обновлением, то реплика будет восстановлена ​​только с данными, которые вы запросили, оставив ее с частично примененным обновлением.

person Tomek    schedule 16.01.2017