Martin Fransson created CASSANDRA-7801:
------------------------------------------
Summary: A successful INSERT with CAS does not always store data
in the DB after a DELETE
Key: CASSANDRA-7801
URL: https://issues.apache.org/jira/browse/CASSANDRA-7801
Project: Cassandra
Issue Type: Bug
Components: Core
Environment: PC with Windows 7 and on Linux installation.
Have seen the fault on Cassandra 2.0.9 and Cassandra 2.1.0-rc5
Reporter: Martin Fransson
Attachments: cas.zip
When I run a loop with CQL statements to DELETE, INSERT with CAS and then a GET.
The INSERT opertion is successful (Applied), but no data is stored in the
database. I have checked the database manually after the test to verify that
the DB is empty.
for (int i = 0; i < 10000; ++i)
{
try
{
t.del();
t.cas();
t.select();
}
catch (Exception e)
{
System.err.println("i=" + i);
e.printStackTrace();
break;
}
}
myCluster =
Cluster.builder().addContactPoint("localhost").withPort(12742).build();
mySession = myCluster.connect();
mySession.execute("CREATE KEYSPACE IF NOT EXISTS castest WITH
REPLICATION = { 'class' : 'SimpleStrategy', 'replication_factor' : 1 };");
mySession.execute("CREATE TABLE IF NOT EXISTS castest.users (userid
text PRIMARY KEY, name text)");
myInsert = mySession.prepare("INSERT INTO castest.users (userid, name)
values ('user1', 'calle') IF NOT EXISTS");
myDelete = mySession.prepare("DELETE FROM castest.users where
userid='user1'");
myGet = mySession.prepare("SELECT * FROM castest.users where
userid='user1'");
}
I can reproduce the fault with the attached program on a PC with windows 7.
You need a cassandra runing and you need to set the port in the program.
--
This message was sent by Atlassian JIRA
(v6.2#6252)