cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andrés de la Peña (JIRA) <j...@apache.org>
Subject [jira] [Commented] (CASSANDRA-13147) Secondary index query on partition key columns might not return all the rows.
Date Thu, 30 Mar 2017 12:08:41 GMT

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

Andrés de la Peña commented on CASSANDRA-13147:
-----------------------------------------------

It seems that it affects to 2.1, 2.2, 3.0, 3.x and trunk. There are two causes for the problem:
* For 2.1, 2.2 and 3.0, the partition containing only static columns is found but [it is not
returned at CQL level|https://github.com/apache/cassandra/blob/cassandra-2.2/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java#L720].
* For 3.0, 3.x and trunk, the partition containing only static columns [is never indexed|https://github.com/apache/cassandra/blob/cassandra-3.0/src/java/org/apache/cassandra/index/internal/CassandraIndex.java#L382].


> Secondary index query on partition key columns might not return all the rows.
> -----------------------------------------------------------------------------
>
>                 Key: CASSANDRA-13147
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-13147
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Benjamin Lerer
>            Assignee: Andrés de la Peña
>
> A secondary index query on a partition key column will, apparently, not return the empty
partitions with static data.
> The following unit test can be used to reproduce the problem.
> {code}
>     public void testIndexOnPartitionKeyWithStaticColumnAndNoRows() throws Throwable
>     {
>         createTable("CREATE TABLE %s (pk1 int, pk2 int, c int, s int static, v int, PRIMARY
KEY((pk1, pk2), c))");
>         createIndex("CREATE INDEX ON %s (pk2)");
>         execute("INSERT INTO %s (pk1, pk2, c, s, v) VALUES (?, ?, ?, ?, ?)", 1, 1, 1,
9, 1);
>         execute("INSERT INTO %s (pk1, pk2, c, s, v) VALUES (?, ?, ?, ?, ?)", 1, 1, 2,
9, 2);
>         execute("INSERT INTO %s (pk1, pk2, s) VALUES (?, ?, ?)", 2, 1, 9);
>         execute("INSERT INTO %s (pk1, pk2, c, s, v) VALUES (?, ?, ?, ?, ?)", 3, 1, 1,
9, 1);
>         assertRows(execute("SELECT * FROM %s WHERE pk2 = ?", 1),
>                    row(1, 1, 1, 9, 1),
>                    row(1, 1, 2, 9, 2),
>                    row(2, 1, null, 9, null), <-- is not returned
>                    row(3, 1, 1, 9, 1));
>     }
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Mime
View raw message