You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "sankalp kohli (JIRA)" <ji...@apache.org> on 2014/11/11 01:53:34 UTC

[jira] [Created] (CASSANDRA-8287) Row Level Isolation is violated by read repair

sankalp kohli created CASSANDRA-8287:
----------------------------------------

             Summary: Row Level Isolation is violated by read repair
                 Key: CASSANDRA-8287
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-8287
             Project: Cassandra
          Issue Type: Bug
          Components: Core
            Reporter: sankalp kohli
            Priority: Minor


In 1.1, row level isolation was added. As per the blog post 
http://www.datastax.com/dev/blog/row-level-isolation

"Cassandra guarantees that the changes to login and password are either both applied or none are."

This is not true with background read repair. Consider this as given in the blog post.
You run 
UPDATE Users
    SET login='eric22' AND password='f3g$dq!'
    WHERE key='550e8400-e29b-41d4-a716-446655440000'
There are 3 machines A,B and C and replication is RF=3
1) Machine A did not get this update as it was down and past hint window. 
2) Machine A comes online.
3) You now only read the password.
4) password is now read repaired on A. 

SO on machine A, password = f3g$dq! and login is still old 




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)