Return-Path: Delivered-To: apmail-cassandra-commits-archive@www.apache.org Received: (qmail 88828 invoked from network); 2 Sep 2010 22:50:54 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 2 Sep 2010 22:50:54 -0000 Received: (qmail 38600 invoked by uid 500); 2 Sep 2010 22:50:54 -0000 Delivered-To: apmail-cassandra-commits-archive@cassandra.apache.org Received: (qmail 38569 invoked by uid 500); 2 Sep 2010 22:50:54 -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 38561 invoked by uid 99); 2 Sep 2010 22:50:53 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 02 Sep 2010 22:50:53 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.22] (HELO thor.apache.org) (140.211.11.22) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 02 Sep 2010 22:50:53 +0000 Received: from thor (localhost [127.0.0.1]) by thor.apache.org (8.13.8+Sun/8.13.8) with ESMTP id o82MoXVS005740 for ; Thu, 2 Sep 2010 22:50:33 GMT Message-ID: <16934250.1631283467833022.JavaMail.jira@thor> Date: Thu, 2 Sep 2010 18:50:33 -0400 (EDT) From: "Jonathan Ellis (JIRA)" To: commits@cassandra.apache.org Subject: [jira] Commented: (CASSANDRA-1458) SSTable cleanup killed by IllegalStateException In-Reply-To: <11603040.146491283457113945.JavaMail.jira@thor> 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-1458?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12905716#action_12905716 ] Jonathan Ellis commented on CASSANDRA-1458: ------------------------------------------- I suspect retrying the delete is simply bogus -- if there is a race condition that would make the delete fail, we need to fix that; I can't think of another reason delete would succeed later after failing initially. btw, are you running Windows? > SSTable cleanup killed by IllegalStateException > ----------------------------------------------- > > Key: CASSANDRA-1458 > URL: https://issues.apache.org/jira/browse/CASSANDRA-1458 > Project: Cassandra > Issue Type: Bug > Components: Core > Affects Versions: 0.7 beta 1 > Environment: trunk from 2010-08-31 > Reporter: Christopher Gist > Priority: Minor > Fix For: 0.7 beta 2 > > > Compacted SSTables were not being deleted even after a forced GC. The following stack traces were observed: > ERROR [SSTABLE-CLEANUP-TIMER] 2010-09-01 15:54:07,254 CassandraDaemon.java (line 85) Uncaught exception in thread Thread[SSTABLE-CLEANUP-TIMER,5,main] > java.lang.IllegalStateException: Task already scheduled or cancelled > at java.util.Timer.sched(Timer.java:380) > at java.util.Timer.schedule(Timer.java:192) > at org.apache.cassandra.io.sstable.SSTableDeletingReference$CleanupTask.run(SSTableDeletingReference.java:86) > at java.util.TimerThread.mainLoop(Timer.java:534) > at java.util.TimerThread.run(Timer.java:484) > ERROR [SSTABLE-DELETER] 2010-09-01 16:20:22,587 CassandraDaemon.java (line 85) Uncaught exception in thread Thread[SSTABLE-DELETER,5,main] > java.lang.IllegalStateException: Timer already cancelled. > at java.util.Timer.sched(Timer.java:376) > at java.util.Timer.schedule(Timer.java:192) > at org.apache.cassandra.io.sstable.SSTableDeletingReference.cleanup(SSTableDeletingReference.java:70) > at org.apache.cassandra.io.sstable.SSTableReader$1$1.run(SSTableReader.java:85) > at java.lang.Thread.run(Thread.java:636) > If the SSTableDeletingReference$CleanupTask cannot delete a file, it reschedules itself for later. TimerTasks (which CleanupTask subclasses) are intended to be scheduled only once and will cause an IllegalStateException in the timer when it tries to schedule itself again. The exception causes timer to effectively cancel itself and the next attempt to schedule a task will cause an IllegalStateException in the SSTABLE-DELETER. > It appears this could be fixed by scheduling a new CleanupTask instead of the same one that failed (SSTableDeletingReference.java:86). -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.