[
https://issues.apache.org/jira/browse/CASSANDRA-13482?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16015990#comment-16015990
]
Aleksandr Batenev commented on CASSANDRA-13482:
---
I have same error on cassandra 3.10:
query fail with row_cache on, and fine with cache off.
consistency level doesn't matter - one/quorum/all -> same result.
switch cache off and when on and/or restart cassandra doesn't fix problem.
java.lang.AssertionError: null
at
org.apache.cassandra.db.rows.UnfilteredRowIterators.concat(UnfilteredRowIterators.java:210)
~[apache-cassandra-3.10.jar:3.10]
at
org.apache.cassandra.db.SinglePartitionReadCommand.getThroughCache(SinglePartitionReadCommand.java:474)
~[apache-cassandra-3.10.jar:3.10]
at
org.apache.cassandra.db.SinglePartitionReadCommand.queryStorage(SinglePartitionReadCommand.java:374)
~[apache-cassandra-3.10.jar:3.10]
at
org.apache.cassandra.db.ReadCommand.executeLocally(ReadCommand.java:407)
~[apache-cassandra-3.10.jar:3.10]
at
org.apache.cassandra.db.ReadCommandVerbHandler.doVerb(ReadCommandVerbHandler.java:48)
~[apache-cassandra-3.10.jar:3.10]
at
org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:66)
~[apache-cassandra-3.10.jar:3.10]
at
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
~[na:1.8.0_131]
at
org.apache.cassandra.concurrent.AbstractLocalAwareExecutorService$FutureTask.run(AbstractLocalAwareExecutorService.java:162)
~[apache-cassandra-3.10.jar:3.10]
at
org.apache.cassandra.concurrent.AbstractLocalAwareExecutorService$LocalSessionFutureTask.run(AbstractLocalAwareExecutorService.java:134)
[apache-cassandra-3.10.jar:3.10]
at org.apache.cassandra.concurrent.SEPWorker.run(SEPWorker.java:109)
[apache-cassandra-3.10.jar:3.10]
at java.lang.Thread.run(Thread.java:748) [na:1.8.0_131]
---
cassandra@cqlsh:sb> select * from session where agent_id =
846bed6c-978c-4cdb-958a-6a6155e9cdb5;
ReadFailure: Error from server: code=1300 [Replica(s) failed to execute read]
message="Operation failed - received 0 responses and 2 failures"
info={'failures': 2, 'received_responses': 0, 'required_responses': 2,
'consistency': 'QUORUM'}
cassandra@cqlsh:sb> ALTER TABLE session WITH caching = {'keys': 'ALL'};
cassandra@cqlsh:sb> select * from session where agent_id =
846bed6c-978c-4cdb-958a-6a6155e9cdb5;
agent_id | session_id | all_isps | all_locations | all_logins | last_ip |
last_login | last_page | last_time | legacy_id
--++--+---++-++---+---+---
(0 rows)
cassandra@cqlsh:sb> ALTER TABLE session WITH compaction = {'class':
'LeveledCompactionStrategy'} and caching = {'keys': 'ALL','rows_per_partition':
1};
cassandra@cqlsh:sb> select * from session where agent_id =
846bed6c-978c-4cdb-958a-6a6155e9cdb5;
ReadFailure: Error from server: code=1300 [Replica(s) failed to execute read]
message="Operation failed - received 0 responses and 2 failures"
info={'failures': 2, 'received_responses': 0, 'required_responses': 2,
'consistency': 'QUORUM'}
---
if i do select with another agent_id - all work fine! only one key fail...
> NPE on non-existing row read when row cache is enabled
> --
>
> Key: CASSANDRA-13482
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13482
> Project: Cassandra
> Issue Type: Bug
>Reporter: Alex Petrov
>Assignee: Alex Petrov
>
> The problem is reproducible on 3.0 with:
> {code}
> -# row_cache_class_name: org.apache.cassandra.cache.OHCProvider
> +row_cache_class_name: org.apache.cassandra.cache.OHCProvider
> -row_cache_size_in_mb: 0
> +row_cache_size_in_mb: 100
> {code}
> Table setup:
> {code}
> CREATE TABLE cache_tables (pk int, v1 int, v2 int, v3 int, primary key (pk,
> v1)) WITH CACHING = { 'keys': 'ALL', 'rows_per_partition': '1' } ;
> {code}
> No data is required, only a head query (or any pk/ck query but with full
> partitions cached).
> {code}
> select * from cross_page_queries where pk = 1 ;
> {code}
> {code}
> java.lang.AssertionError: null
> at
> org.apache.cassandra.db.rows.UnfilteredRowIterators.concat(UnfilteredRowIterators.java:193)
> ~[main/:na]
> at
> org.apache.cassandra.db.SinglePartitionReadCommand.getThroughCache(SinglePartitionReadCommand.java:461)
> ~[main/:na]
> at
> org.apache.cassandra.db.SinglePartitionReadCommand.queryStorage(SinglePartitionReadCommand.java:358)
> ~[main/:na]
> at
> org.apache.cassandra.db.ReadCommand.executeLocally(ReadCommand.java:395)
> ~[main/:na]
> at
> org.apache.cassandra.service.StorageProxy$LocalReadRunnable.runMayThrow(StorageProxy.java:1794)
> ~[main/:na]
> at
> org.apache.c