cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Carl Yeksigian (JIRA)" <j...@apache.org>
Subject [jira] [Created] (CASSANDRA-9255) If a memtable flush fails, possible deadlock for future flushes
Date Tue, 28 Apr 2015 16:00:08 GMT
Carl Yeksigian created CASSANDRA-9255:
-----------------------------------------

             Summary: If a memtable flush fails, possible deadlock for future flushes
                 Key: CASSANDRA-9255
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-9255
             Project: Cassandra
          Issue Type: Bug
            Reporter: Carl Yeksigian
         Attachments: jstack.txt

If a memtable flush throws and exception, it won't signal the countdown latch that the post
flush task is waiting on. Since the post flush executor is single threaded, it will continue
to wait on its countdown latch and will not process any additional post flush tasks. After
that, any blocking flush will deadlock waiting for the post flush task to finish.

I hit this while I was adding tests for CASSANDRA-9057 where the memtable failed to write
because my validation was wrong and then it deadlocked creating a new table, but it should
be safeguarded against the possibility that a memtable flush fails for any reason.

Attaching the jstack showing the deadlock. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message