You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Jonathan Ellis (JIRA)" <ji...@apache.org> on 2013/11/20 01:59:21 UTC

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

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

Jonathan Ellis resolved CASSANDRA-5945.
---------------------------------------

    Resolution: Fixed

fixed in 2.0.1

> 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 was sent by Atlassian JIRA
(v6.1#6144)