cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Phil Persad (JIRA)" <j...@apache.org>
Subject [jira] [Created] (CASSANDRA-5945) CAS transactions permitting multiple updates
Date Tue, 27 Aug 2013 21:27:52 GMT
Phil Persad created CASSANDRA-5945:
--------------------------------------

             Summary: CAS transactions permitting multiple updates
                 Key: CASSANDRA-5945
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-5945
             Project: Cassandra
          Issue Type: Bug
          Components: Core
         Environment: 3 node Cassandra 2.0.0-rc2 cluster
Java driver 1.0.2
Replication factor 3
Quorum consistency
            Reporter: Phil Persad
         Attachments: TokenConsumptionTest.java

This bug is spawned off CASSANDRA-5925 to track an underlying issue not related to TTLs. 
To reproduce:

Step 1:

CREATE TABLE IF NOT EXISTS tkns (tkn blob, consumed boolean, PRIMARY KEY (tkn));

Step 2:

INSERT INTO tkns (tkn, consumed) VALUES (?,FALSE);

Step 3:

UPDATE tkns SET consumed = TRUE WHERE tkn = ? IF consumed = FALSE;

Step 4:

UPDATE tkns SET consumed = TRUE WHERE tkn = ? IF consumed = FALSE;

Repeat steps 2-4 about 100,000 times.

Expectation:

For the '[applied]' column in the result sets for steps 3 and 4, exactly one should be true
and one should be false.

Bug:

In a small number of cases (varying from 0.002% to 1%) both updates will report success. 
See attached unit test.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message