[
https://issues.apache.org/jira/browse/CASSANDRA-5831?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13732805#comment-13732805
]
Jeremiah Jordan commented on CASSANDRA-5831:
--------------------------------------------
Still not sure what is really going on here. "Directories.migrateSSTables();"
is called before "SystemTable.checkHealth()" on a regular C* startup. All
sstablescrub and sstableupgrade do is call Directories.migrateSSTables();, then
call DatabaseDescriptor.loadSchemas();, so why does "SystemTable.checkHealth"
fail after that? SystemTable.finishStartup(); which does the table upgrade
doesn't get called until well after checkHealth. Is calling
DatabaseDescriptor.loadSchemas(); in the sstable* scripts doing something that
breaks checkHealth? I don't know that the answer should be "change check
health". Should we call upgrade tables from the migration stuff in sstable*
scripts?
Regular C* startup does:
{noformat}
Directories.migrateSSTables();
SystemTable.checkHealth();
DatabaseDescriptor.loadSchemas();
{noformat}
sstable* do:
{noformat}
Directories.migrateSSTables();
DatabaseDescriptor.loadSchemas();
{noformat}
So if you run sstable* then start c* the order is:
{noformat}
Directories.migrateSSTables();
DatabaseDescriptor.loadSchemas();
SystemTable.checkHealth();
DatabaseDescriptor.loadSchemas();
{noformat}
> Running sstableupgrade on C* 1.0 data dir, before starting C* 1.2 for the
> first time breaks stuff
> -------------------------------------------------------------------------------------------------
>
> Key: CASSANDRA-5831
> URL: https://issues.apache.org/jira/browse/CASSANDRA-5831
> Project: Cassandra
> Issue Type: Bug
> Components: Tools
> Reporter: Jeremiah Jordan
> Assignee: Tyler Hobbs
> Priority: Minor
> Fix For: 1.2.9
>
> Attachments: 0001-Handle-pre-1.1-data-directory-layout.patch,
> 0002-Handle-old-system-data-in-health-check.patch
>
>
> If you try to upgrade from C* 1.0.X to 1.2.X and run offline sstableupgrade
> to try and migrate the sstables before starting 1.2.X for the first time, it
> messes up the system folder, because it doesn't migrate it right, and then C*
> 1.2 can't start.
> sstableupgrade should either refuse to run against a C* 1.0 data folder, or
> migrate stuff the right way.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira