[ 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