我知道自1.1版(http://www.datastax.com/dev/blog/row-level-isolation)
以来,Cassandra在行级基础上为批量突变提供原子性和隔离性但这些保证是否适用于所有修复机制(暗示切换,读取修复和节点修复)?
我猜这些操作也使用批量突变,因此可以说这些保证成立。但我不知道代码,因此无法证明或证明这一点。
我既没有找到告诉我上述修复机制的原子性和隔离保证的来源。
所以也许你们中的某个人可以给我一个消息来源,或者可以证明这些保证是否适用于这些情况?
亲切的问候 斯蒂芬
答案 0 :(得分:0)
修复工作在sstable级别,而不是单个突变。但由于任何单个突变都不会分裂为多个sstables,因此在修复期间确实会获得相同的隔离保证。
答案 1 :(得分:0)
根据this ticket,读取修复可能会破坏原子性。
如果某个副本丢失了更新,并且您稍后只查询更新所触及的某些单元格/行,则只会使用您查询的数据修复副本,并将其更新部分应用。