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

Pavel Yaskevich edited comment on CASSANDRA-1391 at 12/29/11 12:24 AM:
-----------------------------------------------------------------------

rebased parts 1-2 and part 3 handles the new way of schema distribution, now 
each node after applying migration locally calculates a content-based schema 
version (calculated from system.keyspaces CF) and gossips it, others listen on 
onChange and onAlive methods and when schema update is received them match 
version to their and in case it does not equal node requests migrations but 
sending MIGRATION_REQUEST message with serialized list of the local migration 
ids, coordinator sends set of missing migrations (in the serialized form) in 
response. After migrations are received by requesting node it applies them 
locally one by one on the Migration stage.
                
      was (Author: xedin):
    rebased parts 1-2 and part 3 handles the new way of schema distribution, 
now each node after applying migration locally calculates a content-based 
schema version (calculated from system.keyspaces CF) and gossips it, others 
listen on onChange and onAlive methods and when schema update is received them 
match version to their and in case it does not equal node requests migrations 
but sending MIGRATION_REQUEST message with serialized list of the local 
migration ids, coordinator sends serialized migrations in response. After 
migrations received by requesting node it applies them locally one by one. 
                  
> 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
>             Fix For: 1.1
>
>         Attachments: 
> 0001-new-migration-schema-and-avro-methods-cleanup.patch, 
> 0002-avro-removal.patch, 
> 0003-oldVersion-removed-new-migration-distribution-schema.patch, 
> 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