cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Benjamin Lerer (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (CASSANDRA-11208) Paging is broken for IN queries
Date Tue, 23 Feb 2016 15:12:18 GMT

     [ https://issues.apache.org/jira/browse/CASSANDRA-11208?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Benjamin Lerer updated CASSANDRA-11208:
---------------------------------------
    Attachment: 11083-2.2.txt

{{AbstractQueryPager}} was not taking into account the fact that for tables with no clustering
columns there is only one row per partition. When the next page was fetched, the pager was
believing that it still had to return some rows from the partition.

||utests||dtests||
|[3.0|http://cassci.datastax.com/view/Dev/view/blerer/job/blerer-11208-3.0-testall/1/]|[3.0|http://cassci.datastax.com/view/Dev/view/blerer/job/blerer-11208-3.0-dtest/1/]|
|[trunk|http://cassci.datastax.com/view/Dev/view/blerer/job/blerer-11208-trunk-testall/1/]|[trunk|http://cassci.datastax.com/view/Dev/view/blerer/job/blerer-11208-trunk-dtest/1/]|

The DTest PR is [here|https://github.com/riptano/cassandra-dtest/pull/820]

> Paging is broken for IN queries
> -------------------------------
>
>                 Key: CASSANDRA-11208
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-11208
>             Project: Cassandra
>          Issue Type: Bug
>          Components: CQL
>            Reporter: Benjamin Lerer
>            Assignee: Benjamin Lerer
>         Attachments: 11083-2.2.txt
>
>
> If the number of selected row is greater than the page size, C* will return some duplicates.
> The problem can be reproduced with the java driver using the following code:
> {code}
>        session = cluster.connect();
>        session.execute("CREATE KEYSPACE IF NOT EXISTS test WITH REPLICATION = {'class'
: 'SimpleStrategy', 'replication_factor' : '1'}");
>        session.execute("USE test");
>        session.execute("DROP TABLE IF EXISTS test");
>        session.execute("CREATE TABLE test (rc int, pk int, PRIMARY KEY (pk))");
>        for (int i = 0; i < 5; i++)
>            session.execute("INSERT INTO test (pk, rc) VALUES (?, ?);", i, i);
>        ResultSet rs = session.execute(session.newSimpleStatement("SELECT * FROM test
WHERE  pk IN (1, 2, 3)").setFetchSize(2));
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message