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

Commit log replay issues

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Urgent
    • Resolution: Fixed
    • 0.4
    • None
    • None
    • OS X 10.5.7

    • Critical

    Description

      I've been having a bunch of trouble replaying commit logs. I've seen various exceptions, including:

      java.lang.NegativeArraySizeException
      at org.apache.cassandra.db.CommitLog.recover(CommitLog.java:273)
      at org.apache.cassandra.db.RecoveryManager.doRecovery(RecoveryManager.java:63)
      at org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:95)
      at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:156)
      Exception encountered during startup.
      java.lang.NegativeArraySizeException
      at org.apache.cassandra.db.CommitLog.recover(CommitLog.java:273)
      at org.apache.cassandra.db.RecoveryManager.doRecovery(RecoveryManager.java:63)
      at org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:95)
      at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:156)

      I also got this:

      java.lang.RuntimeException: Unable to load comparator class 'org.apache.cassandra.db.marshal.UTF8Typ'. probably this means you have obsolete sstables lying around
      at org.apache.cassandra.db.ColumnFamily$ColumnFamilySerializer.readComparator(ColumnFamily.java:525)
      at org.apache.cassandra.db.ColumnFamily$ColumnFamilySerializer.deserializeEmpty(ColumnFamily.java:535)
      at org.apache.cassandra.db.ColumnFamily$ColumnFamilySerializer.deserialize(ColumnFamily.java:500)
      at org.apache.cassandra.db.RowSerializer.deserialize(Row.java:225)
      at org.apache.cassandra.db.CommitLog.recover(CommitLog.java:284)
      at org.apache.cassandra.db.RecoveryManager.doRecovery(RecoveryManager.java:63)
      at org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:95)
      at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:156)
      Caused by: java.lang.ClassNotFoundException: org/apache/cassandra/db/marshal/UTF8Typ
      at java.lang.Class.forName0(Native Method)
      at java.lang.Class.forName(Class.java:169)
      at org.apache.cassandra.db.ColumnFamily$ColumnFamilySerializer.readComparator(ColumnFamily.java:521)
      ... 7 more

      and this:

      java.io.EOFException
      at java.io.DataInputStream.readUnsignedShort(DataInputStream.java:323)
      at java.io.DataInputStream.readUTF(DataInputStream.java:572)
      at java.io.DataInputStream.readUTF(DataInputStream.java:547)
      at org.apache.cassandra.db.RowSerializer.deserialize(Row.java:218)
      at org.apache.cassandra.db.CommitLog.recover(CommitLog.java:284)
      at org.apache.cassandra.db.RecoveryManager.doRecovery(RecoveryManager.java:63)
      at org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:95)
      at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:156)
      Exception encountered during startup.

      Not sure if any of them are related.

      Attachments

        Activity

          People

            jbellis Jonathan Ellis
            jamesgolick James Golick
            Jonathan Ellis
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: