Details
-
Bug
-
Status: Open
-
Normal
-
Resolution: Unresolved
-
None
-
None
-
Normal
Description
DELETE a row immediately after INSERT IF NOT EXISTS does not work.
Can be reproduced with this CQL script:
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';
[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
- 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.
Attachments
Attachments
Issue Links
- relates to
-
CASSANDRA-12767 Cassandra Java Driver 3.1.0 Client-Side timestamp generation issue
- Resolved