cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sam Tunnicliffe (JIRA)" <>
Subject [jira] [Updated] (CASSANDRA-11742) Failed bootstrap results in exception when node is restarted
Date Fri, 03 Jun 2016 10:02:59 GMT


Sam Tunnicliffe updated CASSANDRA-11742:
       Resolution: Fixed
    Fix Version/s:     (was: 3.0.x)
                       (was: 2.2.x)
                       (was: 3.x)
           Status: Resolved  (was: Patch Available)

Thanks, LGTM.
Committed to 2.2 in {{360541f16a158f560d7cce1fcc264e246a80d10f}} and merged to 3.0/3.7/trunk.

> Failed bootstrap results in exception when node is restarted
> ------------------------------------------------------------
>                 Key: CASSANDRA-11742
>                 URL:
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Tommy Stendahl
>            Assignee: Joel Knighton
>            Priority: Minor
>             Fix For: 2.2.7, 3.7, 3.0.7
>         Attachments: 11742-2.txt, 11742.txt
> Since 2.2 a failed bootstrap results in a {{org.apache.cassandra.exceptions.ConfigurationException:
Found system keyspace files, but they couldn't be loaded!}} exception when the node is restarted.
This did not happen in 2.1, it just tried to bootstrap again. I know that the workaround is
relatively easy, just delete the system keyspace in the data folder on disk and try again,
but its a bit annoying that you have to do that.
> The problem seems to be that the creation of the {{system.local}} table has been moved
to just before the bootstrap begins (in 2.1 it was done much earlier) and as a result its
still in the memtable och commitlog if the bootstrap failes. Still a few values is inserted
to the {{system.local}} table at an earlier point in the startup and they have been flushed
from the memtable to an sstable. When the node is restarted the {{SystemKeyspace.checkHealth()}}
is executed before the commitlog is replayed and therefore only see the sstable with an incomplete
{{system.local}} table and throws an exception.
> I think we could fix this very easily by forceFlush the system keyspace in the {{StorageServiceShutdownHook}},
I have included a patch that does this. 

This message was sent by Atlassian JIRA

View raw message