cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Yuki Morishita (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (CASSANDRA-6086) Node refuses to start with exception in ColumnFamilyStore.removeUnfinishedCompactionLeftovers when find that some to be removed files are already removed
Date Tue, 08 Oct 2013 17:22:42 GMT

     [ 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)

Mime
View raw message