[ 
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)

Reply via email to