cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Christopher Gist (JIRA)" <j...@apache.org>
Subject [jira] Commented: (CASSANDRA-1458) SSTable cleanup killed by IllegalStateException
Date Fri, 03 Sep 2010 02:14:33 GMT

    [ https://issues.apache.org/jira/browse/CASSANDRA-1458?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12905770#action_12905770
] 

Christopher Gist commented on CASSANDRA-1458:
---------------------------------------------

The cause of the failed delete is unknown. I was running Linux as in the updated environment.

> 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
> Linux 2.6.18-164.2.1.el5.plus #1 SMP x86_64
> OpenJDK 64-Bit Server VM (build 1.6.0-b09)
>            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.


Mime
View raw message