Uploaded image for project: 'Cassandra'
  1. Cassandra
  2. CASSANDRA-13482

NPE on non-existing row read when row cache is enabled

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Normal
    • Resolution: Fixed
    • 3.0.15, 3.11.1, 4.0-alpha1, 4.0
    • None
    • None
    • Normal

    Description

      The problem is reproducible on 3.0 with:

      -# 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
      

      Table setup:

      CREATE TABLE cache_tables (pk int, v1 int, v2 int, v3 int, primary key (pk, v1)) WITH CACHING = { 'keys': 'ALL', 'rows_per_partition': '1' } ;
      

      No data is required, only a head query (or any pk/ck query but with full partitions cached).

      select * from cross_page_queries where pk = 10000 ;
      
      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.cassandra.service.StorageProxy$DroppableRunnable.run(StorageProxy.java:2472) ~[main/:na]
              at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[na:1.8.0_121]
              at org.apache.cassandra.concurrent.AbstractLocalAwareExecutorService$FutureTask.run(AbstractLocalAwareExecutorService.java:164) ~[main/:na]
              at org.apache.cassandra.concurrent.AbstractLocalAwareExecutorService$LocalSessionFutureTask.run(AbstractLocalAwareExecutorService.java:136) [main/:na]
              at org.apache.cassandra.concurrent.SEPWorker.run(SEPWorker.java:105) [main/:na]
              at java.lang.Thread.run(Thread.java:745) [na:1.8.0_121]
      

      Attachments

        Activity

          People

            ifesdjeen Alex Petrov
            ifesdjeen Alex Petrov
            Alex Petrov
            Sylvain Lebresne
            Votes:
            1 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: