Hacker News new | ask | show | jobs
by markelliot 3983 days ago
Yeah, read/write conflicts don't seem to actually generate conflicts. e.g. imagine two processes p1 and p2:

    p1: SET a 1
    p1: BEGIN
    p1: GET a
    p1: SET z 1  # imagine this were contingent on reading a
    p2: BEGIN
    p2: SET a 2
    p2: COMMIT
    p1: COMMIT   # expect conflict, but don't get one
    p1: GET a    # returns 2
    p2: GET z    # returns 1
2 comments

Yes you are right. What you pointed out is a write-skew anomaly which is specific for a Snapshot isolation. The only way to fix this is to upgrade to Serialization level of isolation (SSI for example), which is hopefully will be implemented. Thanks.
Nice find! I just tried it out myself and got the same result. I wonder how well this is tested...