[ https://issues.apache.org/jira/browse/CASSANDRA-9086?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Roger Schildmeijer updated CASSANDRA-9086: ------------------------------------------ Description: Cassandra claims CAS precondition didn't match current values[1], but the row is still inserted. We are having a quite simple cf schema: {quote} create table index ( u text PRIMARY KEY, abc set<uuid>, ) WITH compaction={'class': 'LeveledCompactionStrategy'}; {quote} CQL statement: INSERT INTO index(u, abc) VALUES(?, ?) IF NOT EXISTS Sometimes, especially during some write load, Cassandra claims the conditional insert wasn't satisfied ([applied] false), but the row is still inserted. The response from the conditional insert contains [applied]=false + the data we tried to insert. A full CQL trace is attached. [1] CAS precondition CAS precondition org.apache.cassandra.cql3.statements.CQL3CasConditions@1b2576ce does not match current values ColumnFamily(username_index -{deletedAt=-9223372036854775808, localDeletion=2147483647, ranges=[abc-abc:!, deletedAt=1427889576525999, localDeletion=1427889564]}- [:false:0@1427889576526000,abc:39f1a470ee694761a8197c0d0ada8e8f:false:0@1427889576526000,]) | 11:59:37.060 | /10.0.0.1 | 533702 was: Cassandra claims CAS precondition didn't match current values[1], but the row is still inserted. We are having a quite simple cf schema: create table index ( u text PRIMARY KEY, abc set<uuid>, ) WITH compaction={'class': 'LeveledCompactionStrategy'}; CQL statement: INSERT INTO index(u, abc) VALUES(?, ?) IF NOT EXISTS Sometimes, especially during some write load, Cassandra claims the conditional insert wasn't satisfied ([applied] false), but the row is still inserted. The response from the conditional insert contains [applied]=false + the data we tried to insert. A full CQL trace is attached. [1] CAS precondition CAS precondition org.apache.cassandra.cql3.statements.CQL3CasConditions@1b2576ce does not match current values ColumnFamily(username_index -{deletedAt=-9223372036854775808, localDeletion=2147483647, ranges=[abc-abc:!, deletedAt=1427889576525999, localDeletion=1427889564]}- [:false:0@1427889576526000,abc:39f1a470ee694761a8197c0d0ada8e8f:false:0@1427889576526000,]) | 11:59:37.060 | /10.0.0.1 | 533702 > CAS precondition mismatch - row is still inserted > ------------------------------------------------- > > Key: CASSANDRA-9086 > URL: https://issues.apache.org/jira/browse/CASSANDRA-9086 > Project: Cassandra > Issue Type: Bug > Environment: Cassandra version 2.0.11 > 24 nodes in 4 datacenters (6 nodes per dc) > Reporter: Roger Schildmeijer > Priority: Critical > Attachments: conditional_insert_failure_cleaned.txt > > > Cassandra claims CAS precondition didn't match current values[1], but the row > is still inserted. > We are having a quite simple cf schema: > {quote} > create table index ( > u text PRIMARY KEY, > abc set<uuid>, > ) WITH > compaction={'class': 'LeveledCompactionStrategy'}; > {quote} > CQL statement: > INSERT INTO index(u, abc) VALUES(?, ?) IF NOT EXISTS > Sometimes, especially during some write load, Cassandra claims the > conditional insert wasn't satisfied ([applied] false), but the row is still > inserted. > The response from the conditional insert contains [applied]=false + the data > we tried to insert. > A full CQL trace is attached. > [1] CAS precondition CAS precondition > org.apache.cassandra.cql3.statements.CQL3CasConditions@1b2576ce does not > match current values ColumnFamily(username_index > -{deletedAt=-9223372036854775808, localDeletion=2147483647, > ranges=[abc-abc:!, deletedAt=1427889576525999, localDeletion=1427889564]}- > [:false:0@1427889576526000,abc:39f1a470ee694761a8197c0d0ada8e8f:false:0@1427889576526000,]) > | 11:59:37.060 | /10.0.0.1 | 533702 -- This message was sent by Atlassian JIRA (v6.3.4#6332)