You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Mikhail Stepura (JIRA)" <ji...@apache.org> on 2013/10/21 05:55:42 UTC

[jira] [Comment Edited] (CASSANDRA-6221) CQL3 statements not executed properly inside BATCH operation.

    [ https://issues.apache.org/jira/browse/CASSANDRA-6221?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13800333#comment-13800333 ] 

Mikhail Stepura edited comment on CASSANDRA-6221 at 10/21/13 3:54 AM:
----------------------------------------------------------------------

Yep, fixed by https://issues.apache.org/jira/browse/CASSANDRA-6115

https://github.com/apache/cassandra/commit/8f88670f721f4ab4206c9b2d5594eabf1b46cebe


was (Author: mishail):
Yep, fixed by https://issues.apache.org/jira/browse/CASSANDRA-6115

> CQL3 statements not executed properly inside BATCH operation.
> -------------------------------------------------------------
>
>                 Key: CASSANDRA-6221
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-6221
>             Project: Cassandra
>          Issue Type: Bug
>         Environment: Running on Linux RHEL 6.2 with just a single node cluster. A very basic configuration. You need a CQL3 table with a composite key. Bug occurs while attempting to do both a DELETE and INSERT INTO operation inside a BATCH block.
>            Reporter: Andy Klages
>             Fix For: 2.0.0
>
>
> I'm encountering a problem introduced in 2.0.0 where I have 2 CQL3 statements within a BEGIN BATCH - APPLY BATCH operator and the first one seems to be ignored. Both statements operate on the same table and the first one does a DELETE of an existing record, followed by an INSERT of a new record. The table must have a composite key. NOTE that this worked fine in 1.2.10. 
> Here is a simple example of CQL3 statements to reproduce this:
> -- Following table has a composite key.
> CREATE TABLE users (
>     user_id bigint,
>     id  bigint,
>     name    varchar,
>     PRIMARY KEY(user_id, id)
> );
> -- Insert record with key <100,1>
> INSERT INTO users (user_id,id,name) VALUES (100,1,'jdoe');
> -- Following returns 1 row as expected.
> SELECT * FROM users;
> -- Attempt to delete <100,1> while inserting <100,2> as BATCH
> BEGIN BATCH
> DELETE FROM users WHERE user_id=100 AND id=1;
> INSERT INTO users (user_id,id,name) VALUES (100,2,'jdoe');
> APPLY BATCH;
> -- Following but should return only <100,2> but <100,1> is also returned
> SELECT * FROM users;
> The output from the first select which is correct:
>  user_id | id | name
> ---------+----+------
>      100 |  1 | jdoe
> The output from the second select which is incorrect is:
>  user_id | id | name
> ---------+----+------
>      100 |  1 | jdoe
>      100 |  2 | jdoe
> Only the second row (<100,2>) should've been returned. This was the behavior in 1.2.10.



--
This message was sent by Atlassian JIRA
(v6.1#6144)