You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Julien (JIRA)" <ji...@apache.org> on 2018/03/09 11:12:00 UTC
[jira] [Created] (CASSANDRA-14304) DELETE after INSERT IF NOT
EXISTS does not work
Julien created CASSANDRA-14304:
----------------------------------
Summary: DELETE after INSERT IF NOT EXISTS does not work
Key: CASSANDRA-14304
URL: https://issues.apache.org/jira/browse/CASSANDRA-14304
Project: Cassandra
Issue Type: Bug
Components: Core
Reporter: Julien
Attachments: debug.log, system.log
DELETE a row immediately after INSERT IF NOT EXISTS does not work.
Can be reproduced with this CQL script:
{code:java}
CREATE KEYSPACE ks WITH REPLICATION = { 'class' : 'SimpleStrategy', 'replication_factor' : 1 };
CREATE TABLE ks.ta ( id text PRIMARY KEY, col text );
INSERT INTO ks.ta (id, col) VALUES ('myId', 'myCol') IF NOT EXISTS;
DELETE FROM ks.ta WHERE id = 'myId';
SELECT * FROM ks.ta WHERE id='myId';
{code}
{code:java}
[cqlsh 5.0.1 | Cassandra 3.11.2 | CQL spec 3.4.4 | Native protocol v4]
Use HELP for help.
WARNING: pyreadline dependency missing. Install to enable tab completion.
cqlsh> CREATE KEYSPACE ks WITH REPLICATION = { 'class' : 'SimpleStrategy', 'replication_factor' : 1 };
cqlsh> CREATE TABLE ks.ta ( id text PRIMARY KEY, col text );
cqlsh> INSERT INTO ks.ta (id, col) VALUES ('myId', 'myCol') IF NOT EXISTS;
[applied]
-----------
True
cqlsh> DELETE FROM ks.ta WHERE id = 'myId';
cqlsh> SELECT * FROM ks.ta WHERE id='myId';
id | col
------+-------
myId | myCol
{code}
* Only happens if the client is on a different host (works as expected on the same host)
* Works as expected without IF NOT EXISTS
* A ~500 ms delay between INSERT and DELETE fixes the issue.
Logs attached.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org