Schema updates in cassandra tickle through the cluster over time very much like 
normal writes do.
But they keep some state indicating the "parent" schema and they will only be 
applied to some node if the parent schema is correct thus asserting the correct 
order of schema changes. This process is subject to failure for instance 
because of nodes being down or network errors. If such a failure happens there 
it's still possible that everything is relatively easy fixed. Take down the 
node that missed the updates (use drain) and bring it back only. This might 
work (and does not take that long). If it does not take it down again (again 
drain) delete the data in the system keyspace. Bring it back online.

There is however a situation where you are really screwed. It is when you issue 
updates concurrently to different nodes. The schema versions will disagree and 
there is now possibility to bring them back to the same version again. In this 
case you need to select one node, bring down all nodes that have a different 
schema, delete their system keyspace and bring them back.

Schema changes should not be seen as something that can be done regularly. It 
should not be done programmatically. There should always be some operator 
looking at the cluster verifying that all nodes are reachable and ring is ok. 
And then issue schema changes one at a time using the cli.

Greetings,
roland

-----Ursprüngliche Nachricht-----
Von: mcasandra [mailto:mohitanch...@gmail.com] 
Gesendet: Freitag, 15. April 2011 21:04
An: cassandra-u...@incubator.apache.org
Betreff: Two versions of schema

Is there a problem?


[default@StressKeyspace] update column family StressStandard with
keys_cached=100;
854ee0a0-6792-11e0-81f9-93d987913479
Waiting for schema agreement...
The schema has not settled in 10 seconds; further migrations are ill-advised
until it does.
Versions are 854ee0a0-6792-11e0-81f9-93d987913479:[10.18.62.202,
10.18.62.203, 10.18.62.200, 10.18.62.204, 10.18.62.199, 10.18.62.196,
10.18.62.197],22d165ff-6783-11e0-81f9-93d987913479:[10.18.62.198]


I remember reading somewhere before that when you have 2 versions of schemas
you are basically in trouble. Can someone explain what it means and it's
implications?

--
View this message in context: 
http://cassandra-user-incubator-apache-org.3065146.n2.nabble.com/Two-versions-of-schema-tp6277365p6277365.html
Sent from the cassandra-u...@incubator.apache.org mailing list archive at 
Nabble.com.


Reply via email to