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

Sam Tunnicliffe updated CASSANDRA-8049:
---------------------------------------
    Attachment: 8049.txt

I've pulled all of the preflight checks that happen in CassandraDaemon#setup() 
into a new SystemTests class. This is mainly for testability but it also makes 
things a bit easier/clearer when adding new checks.

I also added some further checks before we start modifying stuff:
* Check that there are no unreadable sstable files in any data directories 
(excluding backups and snapshots)
* If we detect that we're upgrading from a previous version, snapshot the 
system keyspace before anything modifies it
* If the delta between the new and previous versions is too great, refuse to 
startup. Determining the threshold here is not straightforward, so I've punted 
on it and added a constant {{OLDEST_PERMITTED_PREVIOUS_VERSION}}. Suggestions 
as to a better way to determine that are welcome.

> Explicitly examine current C* state on startup to detect incompatibilities 
> before upgrade
> -----------------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-8049
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-8049
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Aleksey Yeschenko
>            Assignee: Sam Tunnicliffe
>             Fix For: 3.0
>
>         Attachments: 8049.txt
>
>
> Unfortunately, we cannot rely on users reading, and following, NEWS.txt 
> before upgrading. People don't read, or ignore it, and sometimes have issues 
> as the result (see CASSANDRA-8047, for example, and I know of several cases 
> like that one).
> We should add an explicit compatibility check on startup, before we modify 
> anything, or write out sstables with the new format. We should fail and 
> complain loudly if we detect a skipped upgrade step.
> We should also snapshot the schema tables before attempting any conversions 
> (since it's not uncommon to make schema modifications as part of the upgrade).



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to