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)