You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Andrey Konstantinov (JIRA)" <ji...@apache.org> on 2016/07/09 20:46:11 UTC

[jira] [Comment Edited] (CASSANDRA-12149) NullPointerException on SELECT with SASI index

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

Andrey Konstantinov edited comment on CASSANDRA-12149 at 7/9/16 8:45 PM:
-------------------------------------------------------------------------

Yes, there is no NPE without token condition, but NPE is an issue, it aborts all connections with a client.

You said that token condition is useless when there is partition key constraint. Thank you for this, and could you, please, clarify few things for me?: I use cassandra-spark-connector to generate token ranges for me to partition my custom RDD in spark (even if I know it hits a single partition in Cassandra, and CassandraPartitionGenerator from the connector knows this too). I could use clustering column to partition SELECT results within a single Cassandra partition, but in this case I would need to know values of a clustering column (and I do not know this in time of a query). How could I partition SELECT results hitting a single large Cassandra partition, when I do not know values of clustering columns? Thanks!


was (Author: avkonst):
Yes, there is no NPE without token condition, but NPE is an issue, it aborts all connections with a client.

You said that token condition is useless when there is partition key constraint. Thank you for this, and could you, please, clarify few things for me: I use cassandra-spark-connector to generate token ranges for me to partition my custom RDD in spark (even if I know it hits a single partition in Cassandra, and CassandraPartitionGenerator from the connector knows this too). I could use clustering column to partition SELECT results within a single Cassandra partition, but in this case I would need to know values of a clustering column (and I do not know this in time of a query). How could I partition SELECT results hitting a single large Cassandra partition, when I do not know values of clustering columns? Thanks!

> NullPointerException on SELECT with SASI index
> ----------------------------------------------
>
>                 Key: CASSANDRA-12149
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-12149
>             Project: Cassandra
>          Issue Type: Bug
>          Components: sasi
>            Reporter: Andrey Konstantinov
>         Attachments: CASSANDRA-12149.txt
>
>
> If I execute the sequence of queries (see the attached file), Cassandra aborts a connection reporting NPE on server side. SELECT query without token range filter works, but does not work when token range filter is specified. My intent was to issue multiple SELECT queries targeting the same single partition, filtered by a column indexed by SASI, partitioning results by different token ranges.
> Output from cqlsh on SELECT is the following:
> cqlsh> SELECT namespace, entity, timestamp, feature1, feature2 FROM mykeyspace.myrecordtable WHERE namespace = 'ns2' AND entity = 'entity2' AND feature1 > 11 AND feature1 < 31  AND token(namespace, entity) <= 9223372036854775807;
> ServerError: <ErrorMessage code=0000 [Server error] message="java.lang.NullPointerException">



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