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

Andrey Konstantinov commented on CASSANDRA-12149:
-------------------------------------------------

Please, let me know if you need more information.

> 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
>
> If I execute the following sequence of queries, Cassandra aborts a connection 
> reporting NPE on server side.
> CREATE KEYSPACE IF NOT EXISTS mykeyspace WITH REPLICATION = {'class' : 
> 'SimpleStrategy', 'replication_factor' : 1};
> CREATE TABLE mykeyspace.myrecordtable (
>     namespace text,
>     entity text,
>     timestamp bigint,
>     feature1 bigint,
>     feature2 bigint,
>     PRIMARY KEY ((namespace, entity), timestamp)
> ) WITH CLUSTERING ORDER BY (timestamp ASC)
>     AND bloom_filter_fp_chance = 0.01
>     AND caching = {'keys': 'ALL', 'rows_per_partition': 'NONE'}
>     AND comment = ''
>     AND compaction = {'class': 
> 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy', 
> 'max_threshold': '32', 'min_threshold': '4'}
>     AND compression = {'chunk_length_in_kb': '64', 'class': 
> 'org.apache.cassandra.io.compress.LZ4Compressor'}
>     AND crc_check_chance = 1.0
>     AND dclocal_read_repair_chance = 0.1
>     AND default_time_to_live = 0
>     AND gc_grace_seconds = 864000
>     AND max_index_interval = 2048
>     AND memtable_flush_period_in_ms = 0
>     AND min_index_interval = 128
>     AND read_repair_chance = 0.0
>     AND speculative_retry = '99PERCENTILE';
> CREATE CUSTOM INDEX record_timestamp_90e05e6caa714f29 ON 
> mykeyspace.myrecordtable (timestamp) USING 
> 'org.apache.cassandra.index.sasi.SASIIndex';
> CREATE CUSTOM INDEX record_feature1_90e05e6caa714f29 ON 
> mykeyspace.myrecordtable (feature1) USING 
> 'org.apache.cassandra.index.sasi.SASIIndex';
> INSERT INTO mykeyspace.myrecordtable (feature1, feature2, namespace, entity, 
> timestamp) VALUES (31, 32, 'ns2', 'entity3', 201606210131);
> INSERT INTO mykeyspace.myrecordtable (feature1, feature2, namespace, entity, 
> timestamp) VALUES (11, 12, 'ns1', 'entity1', 201606210129);
> INSERT INTO mykeyspace.myrecordtable (feature1, feature2, namespace, entity, 
> timestamp) VALUES (21, 22, 'ns2', 'entity2', 201606210130);
> 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;
> Output from cqlsh is the following:
> cqlsh> CREATE KEYSPACE IF NOT EXISTS mykeyspace WITH REPLICATION = {'class' : 
> 'SimpleStrategy', 'replication_factor' : 1};
> cqlsh>
> cqlsh> CREATE TABLE mykeyspace.myrecordtable (
>    ...     namespace text,
>    ...     entity text,
>    ...     timestamp bigint,
>    ...     feature1 bigint,
>    ...     feature2 bigint,
>    ...     PRIMARY KEY ((namespace, entity), timestamp)
>    ... ) WITH CLUSTERING ORDER BY (timestamp ASC)
>    ...     AND bloom_filter_fp_chance = 0.01
>    ...     AND caching = {'keys': 'ALL', 'rows_per_partition': 'NONE'}
>    ...     AND comment = ''
>    ...     AND compaction = {'class': 
> 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy', 
> 'max_threshold': '32', 'min_threshold': '4'}
>    ...     AND compression = {'chunk_length_in_kb': '64', 'class': 
> 'org.apache.cassandra.io.compress.LZ4Compressor'}
>    ...     AND crc_check_chance = 1.0
>    ...     AND dclocal_read_repair_chance = 0.1
>    ...     AND default_time_to_live = 0
>    ...     AND gc_grace_seconds = 864000
>    ...     AND max_index_interval = 2048
>    ...     AND memtable_flush_period_in_ms = 0
>    ...     AND min_index_interval = 128
>    ...     AND read_repair_chance = 0.0
>    ...     AND speculative_retry = '99PERCENTILE';
> cqlsh> CREATE CUSTOM INDEX record_timestamp_90e05e6caa714f29 ON 
> mykeyspace.myrecordtable (timestamp) USING 
> 'org.apache.cassandra.index.sasi.SASIIndex';
> cqlsh> CREATE CUSTOM INDEX record_feature1_90e05e6caa714f29 ON 
> mykeyspace.myrecordtable (feature1) USING 
> 'org.apache.cassandra.index.sasi.SASIIndex';
> cqlsh>
> cqlsh> INSERT INTO mykeyspace.myrecordtable (feature1, feature2, namespace, 
> entity, timestamp) VALUES (31, 32, 'ns2', 'entity3', 201606210131);
> cqlsh> INSERT INTO mykeyspace.myrecordtable (feature1, feature2, namespace, 
> entity, timestamp) VALUES (11, 12, 'ns1', 'entity1', 201606210129);
> cqlsh> INSERT INTO mykeyspace.myrecordtable (feature1, feature2, namespace, 
> entity, timestamp) VALUES (21, 22, 'ns2', 'entity2', 201606210130);
> cqlsh>
> 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">
> cqlsh>



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

Reply via email to