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

Pavel Yaskevich updated CASSANDRA-1391:
---------------------------------------

    Attachment: CASSANDRA-1391.patch

Migrations are made one-time local thing, serialization/deserialization and 
save to system cfs are removed. Schema is propagated in from of row mutations 
to be applied on the system 'keyspaces' cf (apply/diff strategy), upon local 
user-initiated migration node uses push tactic (sends updated schema state to 
all alive nodes in the cluster), pull tactic (when node requests schema from 
remote node) is enabled only when node detects schema disagreement by means of 
Gossip e.g. when new node joins the ring or push was lost due to network or 
other circumstances. Supports automatic schema migration from old storage 
(after migration deprecated system 'schema' and 'migrations' column families 
are dropped). toAvro() methods are removed as no longer needed, fromAvro(...) 
methods are kept as @Deprecated to support schema migration from schema cf to 
new cf. 'Keyspaces' CF contain data in the human-readable JSON format.
                
> Allow Concurrent Schema Migrations
> ----------------------------------
>
>                 Key: CASSANDRA-1391
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1391
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>    Affects Versions: 0.7.0
>            Reporter: Stu Hood
>            Assignee: Pavel Yaskevich
>            Priority: Critical
>             Fix For: 1.1
>
>         Attachments: CASSANDRA-1391.patch
>
>
> CASSANDRA-1292 fixed multiple migrations started from the same node to 
> properly queue themselves, but it is still possible for migrations initiated 
> on different nodes to conflict and leave the cluster in a bad state. Since 
> the system_add/drop/rename methods are accessible directly from the client 
> API, they should be completely safe for concurrent use.
> It should be possible to allow for most types of concurrent migrations by 
> converting the UUID schema ID into a VersionVectorClock (as provided by 
> CASSANDRA-580).

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to