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

Chris Herron commented on CASSANDRA-5025:
-----------------------------------------

For patch 5025.txt:

A single schema migration will result in N (num nodes) gossips of the new 
schema version (as before). Through 
MigrationManager.onChange()->rectifySchema(), those will each result in a 
delayed comparison of value 'theirVersion', but that value is now one minute 
old.

Further, if some new schema migration happens to be underway, the same effect 
of redundant repeat RowMutations will occur.

Schema migrations tend to happen in bursts - so this patch seems like it might 
reduce the problem but not eliminate it.

Would it not be better to have DefsTable.mergeSchema call 
Schema.instance.updateVersion instead of 
Schema.instance.updateVersionAndAnnounce and then deal with temporarily 
unavailable nodes by doing a MigrationManager.passiveAnnounce(version) if/when 
we see them come back online?
                
> Schema push/pull race
> ---------------------
>
>                 Key: CASSANDRA-5025
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-5025
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 1.1.0
>            Reporter: Jonathan Ellis
>            Assignee: Jonathan Ellis
>            Priority: Minor
>             Fix For: 1.1.8
>
>         Attachments: 5025.txt
>
>
> When a schema change is made, the coordinator pushes the delta to the other 
> nodes in the cluster.  This is more efficient than sending the entire schema. 
>  But the coordinator also announces the new schema version, so the other 
> nodes' reception of the new version races with processing the delta, and 
> usually seeing the new schema wins.  So the other nodes also issue a pull to 
> the coordinator for the entire schema.
> Thus, schema changes tend to become O(n) in the number of KS and CF present.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to