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

AssertionError in CompactionExecutor

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Normal
    • Resolution: Fixed
    • None
    • None
    • 4 nodes
      RF 2

    • Normal

    Description

      Seeing this on all 4 of my nodes during a major compaction.

      ERROR [CompactionExecutor:57927] 2013-07-03 13:41:27,591 CassandraDaemon.java (line 175) Exception in thread Thread[CompactionExecutor:57927,1,RMI Runtime]
      java.lang.AssertionError: originally calculated column size of 443395646 but now it is 443395712
              at org.apache.cassandra.db.compaction.LazilyCompactedRow.write(LazilyCompactedRow.java:135)
              at org.apache.cassandra.io.sstable.SSTableWriter.append(SSTableWriter.java:160)
              at org.apache.cassandra.db.compaction.CompactionTask.runWith(CompactionTask.java:162)
              at org.apache.cassandra.io.util.DiskAwareRunnable.runMayThrow(DiskAwareRunnable.java:48)
              at org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28)
              at org.apache.cassandra.db.compaction.CompactionTask.executeInternal(CompactionTask.java:58)
              at org.apache.cassandra.db.compaction.AbstractCompactionTask.execute(AbstractCompactionTask.java:60)
              at org.apache.cassandra.db.compaction.CompactionManager$6.runMayThrow(CompactionManager.java:355)
              at org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28)
              at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
              at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
              at java.util.concurrent.FutureTask.run(FutureTask.java:166)
              at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
              at java.lang.Thread.run(Thread.java:722)
      

      A little bit about this CF. It stores data with a TTL of up to 30 days. These rows are wide. We run major compactions to remove expired data. This has been our setup for almost 2 years and this issue only started cropping up after upgrading to 1.2.5 (from 1.1.5)

      I've been running scrub in the meantime to remove expired data. Now, I'm ending up with lots of similarly sized SSTables that C* is trying constantly to compact. These minor compactions of the bigger SSTables are failing also.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              efalcao Eric Falcao
              Votes:
              2 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: