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

restarting node crashes with NPE when, while replaying the commitlog, the cfMetaData is requested

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Urgent
    • Resolution: Fixed
    • 0.7 beta 1
    • None
    • None
    • SVN rev 935070

    • Critical

    Description

      Removing the commitlog directory completely fixes this. I can reliably reproduce it by 1) starting and configuring a schema with one keyspace, one super CF with LongType supercolumns; 2) inserting data; 3) shutting down and restarting the node.

      Here's my schema expressed in cassidy.pl, should be obvious what the parameters are:
      ./cassidy.pl -server X -port Y -keyspace system 'kdefine test org.apache.cassandra.locator.RackUnawareStrategy 2 org.apache.cassandra.locator.EndPointSnitch'
      ./cassidy.pl -server X -port Y -keyspace test 'fdefine Status Super LongType BytesType comment=statuschanges,row_cache_size=0,key_cache_size=20000'

      The problem seems to be related to CASSANDRA-44 as it happens when the CF metadata is requested but I don't know what's causing it.

      10/04/16 15:25:11 INFO commitlog.CommitLog: Replaying /home/cassandra/commitlog/CommitLog-1271449410100.log, /home/cassandra/commitlog/CommitLog-1271449378151.log, /home/cassandra/commitlog/CommitLog-1271449415800.log
      java.lang.reflect.InvocationTargetException
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:597)
      at org.apache.commons.daemon.support.DaemonLoader.load(DaemonLoader.java:160)
      Caused by: java.lang.NullPointerException
      at org.apache.cassandra.db.Table.<init>(Table.java:261)
      at org.apache.cassandra.db.Table.open(Table.java:102)
      at org.apache.cassandra.db.commitlog.CommitLog.recover(CommitLog.java:233)
      at org.apache.cassandra.db.commitlog.CommitLog.recover(CommitLog.java:172)
      at org.apache.cassandra.thrift.CassandraDaemon.setup(CassandraDaemon.java:104)
      at org.apache.cassandra.thrift.CassandraDaemon.init(CassandraDaemon.java:151)
      ... 5 more

      Attachments

        1. 0001-include-all-keyspaces-when-creating-the-schema-migra.patch
          5 kB
          Gary Dusbabek
        2. 0002-Use-RackUnawareStrategy-in-unit-tests-because-it-doe.patch
          4 kB
          Gary Dusbabek
        3. ASF.LICENSE.NOT.GRANTED--crashlog-995
          21 kB
          Ted Zlatanov
        4. ASF.LICENSE.NOT.GRANTED--run_1.txt
          16 kB
          Gary Dusbabek
        5. ASF.LICENSE.NOT.GRANTED--run_2.txt
          26 kB
          Gary Dusbabek
        6. Tester.java
          3 kB
          Ted Zlatanov

        Activity

          People

            gdusbabek Gary Dusbabek
            tzz Ted Zlatanov
            Gary Dusbabek
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: