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

Jonathan Ellis commented on CASSANDRA-1391:
-------------------------------------------

Feels more like a simplification, than a complication to me.  Syncing schema 
becomes always sending exactly one message instead of potentially 
hundreds/thousands.  And, we get full concurrency support instead of "mostly" 
(the equal-timestamp weakness I mentioned).  Seems worth it to me.

Currently, schema changes are push-only (see: SS.pushMigrations).  So without 
changing that, yes, both nodes will send schema to each other (which will be a 
no-op on the newer one).  That's not a blocker for me.  I'd be fine switching 
to a pull model in either this or a followup ticket, which would let the newer 
side skip its pull if it recognizes the remote version as one it used to have 
(which would reliably indicate it's "older" even if timestamp ties are 
involved).

Traffic from schema changes will be negligible for any known workload.  We can 
optimize for that if/when it becomes a problem (my prediction: never).
                
> 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-nit-fixed.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