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

Ekaterina Dimitrova commented on CASSANDRA-16063:
-------------------------------------------------

Branches rebased and wrapped for final review.

PRs as follow:

[trunk|https://github.com/ekaterinadimitrova2/cassandra/pull/54]| 
[3.0|https://github.com/ekaterinadimitrova2/cassandra/pull/56] | 
[dtetsts|https://github.com/ekaterinadimitrova2/cassandra-dtest/pull/4]
No PR for 3.11 as it is a merge from 3.0

CI:

[JAVA8 
|https://app.circleci.com/pipelines/github/ekaterinadimitrova2/cassandra/388/workflows/c8714c4c-7b68-4d3a-a8b9-e0708d69b13b]
 | [JAVA 
11|https://app.circleci.com/pipelines/github/ekaterinadimitrova2/cassandra/388/workflows/885828f4-9f47-4f3e-91d0-65c110c0db7e]

_testHaveVersion3Nodes - org.apache.cassandra.gms.GossiperTest_ - 
CASSANDRA-16148

_test_alter_rf_and_run_read_repair - read_repair_test.TestReadRepair -_ 
CASSANDRA-16148

_test_atomic_writes[blocking] - read_repair_test.TestReadRepairGuarantees -_  
CASSANDRA-16148

test_compression_cql_options - compression_test.TestCompression - not related 
but have to find/file a ticket; I will do it tomorrow

test_multiple_ranges_repair - repair_tests.repair_test.TestRepair - not related 
but have to find/file a ticket; I will do it tomorrow

corruptionCausesFailure - 
org.apache.cassandra.transport.frame.checksum.ChecksummingTransformerTest -  
CASSANDRA-15313

> Fix user experience when upgrading to 4.0 with compact tables
> -------------------------------------------------------------
>
>                 Key: CASSANDRA-16063
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-16063
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Legacy/CQL
>            Reporter: Sylvain Lebresne
>            Assignee: Ekaterina Dimitrova
>            Priority: Normal
>             Fix For: 4.0-beta
>
>         Attachments: Compact_storage_upgrade_tests.txt
>
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> The code to handle compact tables has been removed from 4.0, and the intended 
> upgrade path to 4.0 for users having compact tables on 3.x is that they must 
> execute {{ALTER ... DROP COMPACT STORAGE}} on all of their compact tables 
> *before* attempting the upgrade.
> Obviously, some users won't read the upgrade instructions (or miss a table) 
> and may try upgrading despite still having compact tables. If they do so, the 
> intent is that the node will _not_ start, with a message clearly indicating 
> the pre-upgrade step the user has missed. The user will then downgrade back 
> the node(s) to 3.x, run the proper {{ALTER ... DROP COMPACT STORAGE}}, and 
> then upgrade again.
> But while 4.0 does currently fail startup when finding any compact tables 
> with a decent message, I believe the check is done too late during startup.
> Namely, that check is done as we read the tables schema, so within 
> [{{Schema.instance.loadFromDisk()}}|https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/service/CassandraDaemon.java#L241].
>   But by then, we've _at least_ called 
> {{SystemKeyspace.persistLocalMetadata()}}} and 
> {{SystemKeyspaceMigrator40.migrate()}}, which will get into the commit log, 
> and even possibly flush new {{na}} format sstables. As a results, a user 
> might not be able to seemlessly restart the node on 3.x (to drop compact 
> storage on the appropriate tables).
> Basically, we should make sure the check for compact tables done at 4.0 
> startup is done as a {{StartupCheck}}, before the node does anything.
> We should also add a test for this (checking that if you try upgrading to 4.0 
> with compact storage, you can downgrade back with no intervention whatsoever).



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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

Reply via email to