You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Josh McKenzie (Jira)" <ji...@apache.org> on 2022/07/26 19:58:00 UTC

[jira] [Commented] (CASSANDRA-17777) Skip sstable startup checks for dropped system tables

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

Josh McKenzie commented on CASSANDRA-17777:
-------------------------------------------

Of note [~benedict] - I moved the _paxos_repair_state's directory definition to {{SystemKeyspace}} along with the other system tables (see [here|https://github.com/apache/cassandra/pull/1755/files#diff-f57518f964c71328146aeca95be5e697ca81a77261719eeef4dd4b1ed8daf63bR153]) and reference that from within {{PaxosStateTracker}} (see [here|https://github.com/apache/cassandra/pull/1755/files#diff-b88eea6e33fdfabe5eda76ddcf2abd804f04e5c87ab0a5074f05354262a0ef54R86]) with this patch. Figured you wouldn't have a problem with that but worth checking just in case there's a reason we'd want to keep that separate that I'm not seeing.

 
||Item|Link|
|PR|[link|https://github.com/apache/cassandra/pull/1755]|
|JDK8 CI|[link|https://app.circleci.com/pipelines/github/josh-mckenzie/cassandra/250/workflows/7236612a-93fb-4972-b6cf-d954c1d9de17]|
|JDK11 CI|[link|https://app.circleci.com/pipelines/github/josh-mckenzie/cassandra/250/workflows/c1073de8-fb63-494c-b8b3-de4cdb7e61cc]|

> Skip sstable startup checks for dropped system tables
> -----------------------------------------------------
>
>                 Key: CASSANDRA-17777
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-17777
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Local/Startup and Shutdown
>            Reporter: Josh McKenzie
>            Assignee: Josh McKenzie
>            Priority: Normal
>
> In CASSANDRA-8049 we changed our behavior to explicitly not startup while iterating over the whole data file directory before loading schema. In the case where you have (admittedly _very)_ old files left around from dropped system tables from old C* versions (think 1.0 era), you can end up with clusters that won't start due to what was, at the time, normal operations.
> We should change from hard killing nodes to instead warn operators they have leftovers of old system tables that need to be cleaned up. Ideally these files would be manually removed by operators before the upgrade to new versions however we can't always rely on this so killing nodes on startup for this specific case is suboptimal. We certainly still need to log the found files to give operators an indication of what needs to be cleaned up.
> While we can't load the schema to make sure all directories are safe, we _can_ know which tables exist in the system keyspace so we should be able to safely modify this startup check to log rather than kill for system tables only.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org