[
https://issues.apache.org/jira/browse/CASSANDRA-1391?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Pavel Yaskevich updated CASSANDRA-1391:
---------------------------------------
Attachment: 0003-oldVersion-removed-new-migration-distribution-schema.patch
0002-avro-removal.patch
0001-new-migration-schema-and-avro-methods-cleanup.patch
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