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

Caleb Rackliffe updated CASSANDRA-17042:
----------------------------------------
    Reviewers: Caleb Rackliffe, Caleb Rackliffe
               Caleb Rackliffe, Caleb Rackliffe  (was: Caleb Rackliffe)
       Status: Review In Progress  (was: Patch Available)

> Avoid sstable corruption when upgrading from 4.0-rc1 to 4.0.0
> -------------------------------------------------------------
>
>                 Key: CASSANDRA-17042
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-17042
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Consistency/Streaming, Local/SSTable
>            Reporter: Marcus Eriksson
>            Assignee: Marcus Eriksson
>            Priority: Normal
>             Fix For: 4.0.x, 4.x
>
>
> 4.0-rc2 introduced a new sstable version ({{-nb-}}), adding a field in 
> {{StatsMetadata}}. When zero copy streaming a file from 4.0-rc2+ to 4.0-rc1, 
> the rc1 node will write it as an {{-nb-}} file, mutate the metadata to clear 
> repairedAt/level information from StatsMetadata and rewrite the file, keeping 
> the same file name. Problem is that since rc1 doesn't know about the new 
> field in StatsMetadata, it will write the file without the new StatsMetadata 
> field, but with an {{-nb-}} filename. Then, when upgrading this node to rc2+ 
> we will try to read it as a {{-nb-}} file, but will get {{EOFException}} 
> since it doesn't contain the new field.
> We should make sure that we never do zero-copy streaming to nodes that don't 
> know about the file version.
> The corrupt sstables can be fixed by simply renaming all components of it to 
> {{-na-}} from {{-nb-}}



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

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

Reply via email to