You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Yuki Morishita (JIRA)" <ji...@apache.org> on 2013/10/08 19:22:42 UTC

[jira] [Updated] (CASSANDRA-6086) Node refuses to start with exception in ColumnFamilyStore.removeUnfinishedCompactionLeftovers when find that some to be removed files are already removed

     [ https://issues.apache.org/jira/browse/CASSANDRA-6086?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Yuki Morishita updated CASSANDRA-6086:
--------------------------------------

    Attachment: 6086-v2.txt

bq. From the other hand, the leftovers about to remove are already missing (i.e. already removed) when exception is thrown.

Is this the case that, for example, you have SSTable 'C' that is produced from compacting SSTables 'A' and 'B'('C' has ancestors 'A' and 'B'), and 'A' and 'B' are already deleted, but removeUnfinishedCompactionLeftovers reports you have unfinished compaction of 'A' and 'B'?

In above case, you definitely don't want to proceed, since the code tries remove SSTable 'C' afterwards.
Patch v2 is attached to prevent deleting SSTable if its ancestors are already missing after printing warning.

(I'm still looking for the case why the above happened though. We supposed not to have entries in compaction_in_progress when those are removed.)


> Node refuses to start with exception in ColumnFamilyStore.removeUnfinishedCompactionLeftovers when find that some to be removed files are already removed
> ---------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-6086
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-6086
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>            Reporter: Oleg Anastasyev
>            Assignee: Oleg Anastasyev
>             Fix For: 2.0.2
>
>         Attachments: 6086-v2.txt, removeUnfinishedCompactionLeftovers.txt
>
>
> Node refuses to start with
> {code}
> Caused by: java.lang.IllegalStateException: Unfinished compactions reference missing sstables. This should never happen since compactions are marked finished before we start removing the old sstables.
>       at org.apache.cassandra.db.ColumnFamilyStore.removeUnfinishedCompactionLeftovers(ColumnFamilyStore.java:544)
>       at org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:262)
> {code}
> IMO, there is no reason to refuse to start discivering files that must be removed are already removed. It looks like pure bug diagnostic code and mean nothing to operator (nor he can do anything about this).
> Replaced throw of excepion with dump of diagnostic warning and continue startup.



--
This message was sent by Atlassian JIRA
(v6.1#6144)