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

Errors in FlushRunnable may leave threads hung

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Low
    • Resolution: Won't Fix
    • None
    • None
    • None
    • Low

    Description

      In Memtable.FlushRunnable, the CountDownLatch will never be counted down if there are errors, which results in hanging any threads that are waiting for the flush to complete. For example, an error like this causes the problem:

      ERROR [FlushWriter:474] 2014-05-20 12:10:31,137 CassandraDaemon.java (line 198) Exception in thread Thread[FlushWriter:474,5,main]
      java.lang.IllegalArgumentException
          at java.nio.Buffer.position(Unknown Source)
          at org.apache.cassandra.db.marshal.AbstractCompositeType.getBytes(AbstractCompositeType.java:64)
          at org.apache.cassandra.db.marshal.AbstractCompositeType.getWithShortLength(AbstractCompositeType.java:72)
          at org.apache.cassandra.db.marshal.AbstractCompositeType.split(AbstractCompositeType.java:138)
          at org.apache.cassandra.io.sstable.ColumnNameHelper.minComponents(ColumnNameHelper.java:103)
          at org.apache.cassandra.db.ColumnFamily.getColumnStats(ColumnFamily.java:439)
          at org.apache.cassandra.io.sstable.SSTableWriter.append(SSTableWriter.java:194)
          at org.apache.cassandra.db.Memtable$FlushRunnable.writeSortedContents(Memtable.java:397)
          at org.apache.cassandra.db.Memtable$FlushRunnable.runWith(Memtable.java:350)
          at org.apache.cassandra.io.util.DiskAwareRunnable.runMayThrow(DiskAwareRunnable.java:48)
          at org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28)
          at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
          at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
          at java.lang.Thread.run(Unknown Source)
      

      Attachments

        1. 0001-Move-latch.countDown-into-finally-block.patch
          1 kB
          Jonathan Ellis
        2. 7252-2.0-v2.txt
          8 kB
          Yuki Morishita
        3. CASSANDRA-7275-flush-info.patch
          7 kB
          Pavel Yaskevich

        Issue Links

          Activity

            People

              Unassigned Unassigned
              thobbs Tom Hobbs
              Votes:
              0 Vote for this issue
              Watchers:
              13 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: