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