You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Benjamin Lerer (JIRA)" <ji...@apache.org> on 2016/01/15 11:50:39 UTC

[jira] [Updated] (CASSANDRA-10955) Multi-partitions queries with ORDER BY can result in a NPE

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

Benjamin Lerer updated CASSANDRA-10955:
---------------------------------------
    Attachment: 10955-2.2.txt

The patch makes sure that we handle {{null}} values in the comparators used to sort the results.

||utests||dtests||
|[2.2|http://cassci.datastax.com/view/Dev/view/blerer/job/blerer-10955-2.2-testall/lastCompletedBuild/testReport/]|[2.2|http://cassci.datastax.com/view/Dev/view/blerer/job/blerer-10955-2.2-dtest/lastCompletedBuild/testReport/]|
|[3.0|http://cassci.datastax.com/view/Dev/view/blerer/job/blerer-10955-3.0-testall/lastCompletedBuild/testReport/]|[3.0|http://cassci.datastax.com/view/Dev/view/blerer/job/blerer-10955-3.0-dtest/lastCompletedBuild/testReport/]|

> Multi-partitions queries with ORDER BY can result in a NPE
> ----------------------------------------------------------
>
>                 Key: CASSANDRA-10955
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-10955
>             Project: Cassandra
>          Issue Type: Bug
>          Components: CQL
>            Reporter: Benjamin Lerer
>            Assignee: Benjamin Lerer
>         Attachments: 10955-2.2.txt
>
>
> In the case of a table with static columns, if only the static columns have been set for some partitions, a multi-partitions query with an {{ORDER BY}} can cause a {{NPE}}.
> The following unit test can be used to reproduce the problem:
> {code}
>     @Test
>     public void testOrderByForInClauseWithNullValue() throws Throwable
>     {
>         createTable("CREATE TABLE %s (a int, b int, c int, s int static, d int, PRIMARY KEY (a, b, c))");
>         execute("INSERT INTO %s (a, b, c, d) VALUES (1, 1, 1, 1)");
>         execute("INSERT INTO %s (a, b, c, d) VALUES (1, 1, 2, 1)");
>         execute("INSERT INTO %s (a, b, c, d) VALUES (2, 2, 1, 1)");
>         execute("INSERT INTO %s (a, b, c, d) VALUES (2, 2, 2, 1)");
>         execute("UPDATE %s SET s = 1 WHERE a = 1");
>         execute("UPDATE %s SET s = 2 WHERE a = 2");
>         execute("UPDATE %s SET s = 3 WHERE a = 3");
>         assertRows(execute("SELECT a, b, c, d, s FROM %s WHERE a IN (1, 2, 3) ORDER BY b DESC"),
>                    row(2, 2, 2, 1, 2),
>                    row(2, 2, 1, 1, 2),
>                    row(1, 1, 2, 1, 1),
>                    row(1, 1, 1, 1, 1),
>                    row(3, null, null, null, 3));
>     }
> {code} 



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