cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Tyler Hobbs (JIRA)" <j...@apache.org>
Subject [jira] [Created] (CASSANDRA-7275) Errors in FlushRunnable may leave threads hung
Date Wed, 21 May 2014 00:15:39 GMT
Tyler Hobbs created CASSANDRA-7275:
--------------------------------------

             Summary: Errors in FlushRunnable may leave threads hung
                 Key: CASSANDRA-7275
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-7275
             Project: Cassandra
          Issue Type: Bug
          Components: Core
            Reporter: Tyler Hobbs
            Priority: Critical
             Fix For: 2.0.8


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:

{noformat}
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)
{noformat}



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Mime
View raw message