[ 
https://issues.apache.org/jira/browse/CASSANDRA-12862?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15623163#comment-15623163
 ] 

Artur Siekielski commented on CASSANDRA-12862:
----------------------------------------------

Sorry for raising false alarm. I tried to reproduce the issue using a 
standalone script, but ended up discovering an issue in application code 
(handling WriteTimeouts).

But I see that sometimes "INSERT ... IF NOT EXISTS" returns applied=False even 
when the PK doesn't exist. I assume it's normal and I should retry the insert?

I think that the documentation at 
https://docs.datastax.com/en/cql/3.1/cql/cql_reference/insert_r.html#reference_ds_gp2_1jp_xj__if-not-exists
 should mention that (and WriteTimeouts).


> LWT leaves corrupted state
> --------------------------
>
>                 Key: CASSANDRA-12862
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-12862
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>         Environment: Cassandra 2.1.16, 3-node cluster with RF=3, 
> NetworkTopology with 1 DC
>            Reporter: Artur Siekielski
>
> When executing "INSERT ... IF NOT EXISTS" (with consistency LOCAL_QUORUM) 
> while the concurrency level is high (about 50 simultaneous threads doing 
> inserts, for the same partition key but different clustering keys) sometimes 
> the INSERT returns applied=False, but the subsequent SELECTs return no data. 
> The corrupted state is permanent - neither the INSERT or SELECTs succeed, 
> making the PK "locked".
> I can easily reproduce this - for 100 simultaneous threads doing a single 
> insert I get 1-2 corruptions.



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

Reply via email to