[
https://issues.apache.org/jira/browse/CASSANDRA-1391?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13147216#comment-13147216
]
Jonathan Ellis commented on CASSANDRA-1391:
-------------------------------------------
bq. My preference would be to model this on our Row conflict resolution
I think we can make it even simpler, by moving schema out of avro and into
native CFs.
Each KS/CF would be a row. Attributes would be columns. When columns change
you run the appropriate ALTER code. If you get an update that's obsolete
(applying it does not change the schema b/c it has older timestamp) then it is
no-op.
Schema version would become some kind of md5 or sha of the CF contents (all
rows + all columns).
The only problem is you need to be a little careful to open the schema CFs
before anything else, but that's relatively easy I think.
> 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: 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