cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gary Dusbabek (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CASSANDRA-2056) Need a way of flattening schemas.
Date Mon, 11 Apr 2011 13:19:05 GMT

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

Gary Dusbabek commented on CASSANDRA-2056:
------------------------------------------

Attached rebased v2. CliTest fails though, so not committing yet.

> 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

Mime
View raw message