Return-Path: X-Original-To: apmail-cassandra-commits-archive@www.apache.org Delivered-To: apmail-cassandra-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id C46C8178A2 for ; Tue, 28 Apr 2015 16:37:06 +0000 (UTC) Received: (qmail 81142 invoked by uid 500); 28 Apr 2015 16:37:06 -0000 Delivered-To: apmail-cassandra-commits-archive@cassandra.apache.org Received: (qmail 81101 invoked by uid 500); 28 Apr 2015 16:37:06 -0000 Mailing-List: contact commits-help@cassandra.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@cassandra.apache.org Delivered-To: mailing list commits@cassandra.apache.org Received: (qmail 81088 invoked by uid 99); 28 Apr 2015 16:37:06 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 28 Apr 2015 16:37:06 +0000 Date: Tue, 28 Apr 2015 16:37:06 +0000 (UTC) From: "Benedict (JIRA)" To: commits@cassandra.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Resolved] (CASSANDRA-9255) If a memtable flush fails, possible deadlock for future flushes MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/CASSANDRA-9255?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Benedict resolved CASSANDRA-9255. --------------------------------- Resolution: Duplicate This is a duplicate of CASSANDRA-7275. See the extensive existing discussion there. > 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 > Assignee: Benedict > 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)