[ https://issues.apache.org/jira/browse/CASSANDRA-12862?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15623195#comment-15623195 ]
Artur Siekielski commented on CASSANDRA-12862: ---------------------------------------------- {quote} 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? {quote} Correction, I don't actually see this. IF the LWT query returns "applied" row, then it corresponds to the existence of the given PK. However, WriteTimeout can be raised even when only a single thread does insert for the given PK. > 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)