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

NullPointerException in DeletionInfo.isDeleted

Agile BoardAttach filesAttach ScreenshotBulk Copy AttachmentsBulk Move AttachmentsVotersWatch issueWatchersCreate sub-taskConvert to sub-taskMoveLinkCloneLabelsUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Normal
    • Resolution: Duplicate
    • None
    • Legacy/CQL
    • None
    • Linux 64 bits

    • Normal

    Description

      The following CQL query:

      select count(*) from messages;
      

      sometimes produces the following stack trace:

      ERROR [SharedPool-Worker-1] 2015-10-31 16:32:22,606 ErrorMessage.java:251 - Unexpected exception during request
      java.lang.NullPointerException: null
      	at org.apache.cassandra.db.DeletionInfo.isDeleted(DeletionInfo.java:138) ~[apache-cassandra-2.1.11.jar:2.1.11]
      	at org.apache.cassandra.service.pager.RangeSliceQueryPager.containsPreviousLast(RangeSliceQueryPager.java:102) ~[apache-cassandra-2.1.11.jar:2.1.11]
      	at org.apache.cassandra.service.pager.AbstractQueryPager.fetchPage(AbstractQueryPager.java:119) ~[apache-cassandra-2.1.11.jar:2.1.11]
      	at org.apache.cassandra.service.pager.RangeSliceQueryPager.fetchPage(RangeSliceQueryPager.java:39) ~[apache-cassandra-2.1.11.jar:2.1.11]
      	at org.apache.cassandra.cql3.statements.SelectStatement.pageCountQuery(SelectStatement.java:286) ~[apache-cassandra-2.1.11.jar:2.1.11]
      	at org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:230) ~[apache-cassandra-2.1.11.jar:2.1.11]
      	at org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:67) ~[apache-cassandra-2.1.11.jar:2.1.11]
      	at org.apache.cassandra.cql3.QueryProcessor.processStatement(QueryProcessor.java:238) ~[apache-cassandra-2.1.11.jar:2.1.11]
      	at org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:260) ~[apache-cassandra-2.1.11.jar:2.1.11]
      	at org.apache.cassandra.transport.messages.QueryMessage.execute(QueryMessage.java:122) ~[apache-cassandra-2.1.11.jar:2.1.11]
      	at org.apache.cassandra.transport.Message$Dispatcher.channelRead0(Message.java:439) [apache-cassandra-2.1.11.jar:2.1.11]
      	at org.apache.cassandra.transport.Message$Dispatcher.channelRead0(Message.java:335) [apache-cassandra-2.1.11.jar:2.1.11]
      	at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105) [netty-all-4.0.23.Final.jar:4.0.23.Final]
      	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:333) [netty-all-4.0.23.Final.jar:4.0.23.Final]
      	at io.netty.channel.AbstractChannelHandlerContext.access$700(AbstractChannelHandlerContext.java:32) [netty-all-4.0.23.Final.jar:4.0.23.Final]
      	at io.netty.channel.AbstractChannelHandlerContext$8.run(AbstractChannelHandlerContext.java:324) [netty-all-4.0.23.Final.jar:4.0.23.Final]
      	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [na:1.8.0_51]
      	at org.apache.cassandra.concurrent.AbstractTracingAwareExecutorService$FutureTask.run(AbstractTracingAwareExecutorService.java:164) [apache-cassandra-2.1.11.jar:2.1.11]
      	at org.apache.cassandra.concurrent.SEPWorker.run(SEPWorker.java:105) [apache-cassandra-2.1.11.jar:2.1.11]
      	at java.lang.Thread.run(Thread.java:745) [na:1.8.0_51]
      

      After taking a snapshot on all participating nodes, the query starts to apparently succeed.

      The table schema is:

      CREATE TABLE akka.messages (
          persistence_id text,
          partition_nr bigint,
          sequence_nr bigint,
          message blob,
          used boolean static,
          PRIMARY KEY ((persistence_id, partition_nr), sequence_nr)
      ) WITH CLUSTERING ORDER BY (sequence_nr 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'}
          AND compression = {'sstable_compression': 'org.apache.cassandra.io.compress.LZ4Compressor'}
          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 = '99.0PERCENTILE';
      

      (this is from the Akka Cassandra Persistence journal plugin)

      Attachments

        Issue Links

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            Unassigned Unassigned Assign to me
            masterzen Brice Figureau
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment