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

Philip Thompson commented on CASSANDRA-7801:
--------------------------------------------

I'm able to reproduce his issue with the attached test on Windows 7 with C* 
2.1.0-rc6. However, with the following similar test using the python driver, I 
was not able to reproduce the issue:
{code}
    def bug_7801_test(self):
        session = self.prepare()
        session.execute("CREATE TABLE IF NOT EXISTS users (userid text PRIMARY 
KEY, name text)")

        del_cmd = session.prepare("DELETE FROM users where userid='user1'")
        ins = session.prepare("INSERT INTO users (userid, name) values 
('user1', 'calle') IF NOT EXISTS")
        get = session.prepare("SELECT * FROM users where userid='user1'")

        for i in xrange(10000):
            session.execute(del_cmd)
            session.execute(ins)
            rows = session.execute(get)

            self.assertItemsEqual(rows[0], ['user1', 'calle'])
            self.assertEqual(len(rows), 1)
{code}

> 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)

Reply via email to