cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Tyler Hobbs (JIRA)" <>
Subject [jira] [Updated] (CASSANDRA-6008) Getting 'This should never happen' error at startup due to sstables missing
Date Tue, 10 Dec 2013 22:02:09 GMT


Tyler Hobbs updated CASSANDRA-6008:

    Attachment: 6008-trunk-v1.patch

6008-trunk-v1.patch should resolve the issue on trunk.  I'll have a 2.0 patch shortly.

The root of the problem was that LazilyCompactedRow was merging row tombstones incorrectly,
essentially just discarding them.  There are a lot of documentation improvements in the patch
(as it took me a while to understand everything sufficiently well to make a good fix); the
only real code changes are in LazilyCompactedRow and a unit test to reproduce the issue.

We should probably change the title of this ticket to match the actual problem instead of
this particular symptom.

> Getting 'This should never happen' error at startup due to sstables missing
> ---------------------------------------------------------------------------
>                 Key: CASSANDRA-6008
>                 URL:
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>            Reporter: John Carrino
>            Assignee: Tyler Hobbs
>             Fix For: 2.0.4
>         Attachments: 6008-trunk-v1.patch
> Exception encountered during startup: "Unfinished compactions reference missing sstables.
This should never happen since compactions are marked finished before we start removing the
old sstables"
> This happens when sstables that have been compacted away are removed, but they still
have entries in the system.compactions_in_progress table.
> Normally this should not happen because the entries in system.compactions_in_progress
are deleted before the old sstables are deleted.
> However at startup recovery time, old sstables are deleted (NOT BEFORE they are removed
from the compactions_in_progress table) and then after that is done it does a truncate using
> We ran into a case where the disk filled up and the node died and was bounced and then
failed to truncate this table on startup, and then got stuck hitting this exception in ColumnFamilyStore.removeUnfinishedCompactionLeftovers.
> Maybe on startup we can delete from this table incrementally as we clean stuff up in
the same way that compactions delete from this table before they delete old sstables.

This message was sent by Atlassian JIRA

View raw message