[
https://issues.apache.org/jira/browse/CASSANDRA-7801?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Mikhail Stepura updated CASSANDRA-7801:
---------------------------------------
Description:
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.
{code}
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'");
}
{code}
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.
was:
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.
> 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
> Assignee: Sylvain Lebresne
> Fix For: 2.0.11
>
> Attachments: 7801.txt, 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.
> {code}
> 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'");
> }
> {code}
> 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.3.4#6332)