You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Phil Persad (JIRA)" <ji...@apache.org> on 2013/08/27 23:27:52 UTC

[jira] [Updated] (CASSANDRA-5945) CAS transactions permitting multiple updates

     [ https://issues.apache.org/jira/browse/CASSANDRA-5945?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Phil Persad updated CASSANDRA-5945:
-----------------------------------

    Attachment: TokenConsumptionTest.java
    
> 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