cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Tyler Hobbs (JIRA)" <>
Subject [jira] [Updated] (CASSANDRA-7120) Bad paging state returned for prepared statements for last page
Date Wed, 21 May 2014 20:18:44 GMT


Tyler Hobbs updated CASSANDRA-7120:

    Attachment: 7120.txt

The problem was that a single ResultSet.Metadata instance was being reused for every execution
of a prepared statement.  If the paging state was not explicitly updated, the state from the
previous execution was used.

The attached patch (and [branch|])
fixes that and adds a related assertion.

> Bad paging state returned for prepared statements for last page
> ---------------------------------------------------------------
>                 Key: CASSANDRA-7120
>                 URL:
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>            Reporter: Tyler Hobbs
>            Assignee: Tyler Hobbs
>             Fix For: 2.1 rc1
>         Attachments: 7120.txt
> When executing a paged query with a prepared statement, a non-null paging state is sometimes
being returned for the final page, causing an endless paging loop.
> Specifically, this is the schema being used:
> {noformat}
>     CREATE KEYSPACE test3rf WITH replication = {'class': 'SimpleStrategy', 'replication_factor':
>     USE test3rf;
>     CREATE TABLE test3rf.test (
>                 k int PRIMARY KEY,
>                 v int
>     )
> {noformat}
> The inserts are like so:
> {noformat}
> INSERT INTO test3rf.test (k, v) VALUES (?, 0)
> {noformat}
> With values from [0, 99] used for k.
> The query is {{SELECT * FROM test3rf.test}} with a fetch size of 3.
> The final page returns the row with k=3, and the paging state is {{0004000000420004000176007fffffa2}}.
 This matches the paging state from three pages earlier.  When executing this with a non-prepared
statement, no paging state is returned for this page.
> This problem doesn't happen with the 2.0 branch.

This message was sent by Atlassian JIRA

View raw message