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

Gary Dusbabek updated CASSANDRA-2056:
-------------------------------------

    Attachment:     (was: v1-0001-convert-MigrationManager-into-a-singleton.txt)

> Need a way of flattening schemas.
> ---------------------------------
>
>                 Key: CASSANDRA-2056
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-2056
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Gary Dusbabek
>            Assignee: Gary Dusbabek
>             Fix For: 0.8
>
>         Attachments: v2-0001-convert-MigrationManager-into-a-singleton.txt, 
> v2-0002-bail-on-migrations-originating-from-newer-protocol-ver.txt, 
> v2-0003-a-way-to-upgrade-schema-when-protocol-version-changes.txt
>
>
> For all of our trying not to, we still managed to screw this up.  Schema 
> updates currently contain a serialized RowMutation stored as a column value.  
> When a node needs updated schema, it requests these values, deserializes them 
> and applies them.  As the serialization scheme for RowMutation changes over 
> time (this is inevitable), those old migrations will become incompatible with 
> newer implementations of the RowMutation deserializer.  This means that when 
> new nodes come online, they'll get migration messages that they have trouble 
> deserializing.  (Remember, we've only made the promise that we'll be 
> backwards compatible for one version--see CASSANDRA-1015--even though we'd 
> eventually have this problem without that guarantee.)
> What I propose is a cluster command to flatten the schema prior to upgrading. 
>  This would basically purge the old schema updates and replace them with a 
> single serialized migration (serialized in the current protocol version).

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to