Is it safe to make schema changes ( e.g. create keyspace and tables ) on
multiple separate nodes of a cluster while they are out of communication
with other nodes in the cluster? For example create on node A while node B
is down, create on node B while A is down, then bring both up together.

We are looking to embed Cassandra invisibly in another product and we have
no control in what order users may start/stop the nodes up or add/remove
them from clusters. And Cassandra must come up and be working with at least
local access regardless. So this means always creating keyspaces and tables
so they are always present. But this means nodes joining clusters which
already have the same keyspace and table defined. Will it cause any issues?
I have done some testing and saw some some issues when I tried to nodetool
repair to bring things into sync. However at the time I was fighting with
what I later discovered was CASSANDRA-9689 keyspace does not show in
describe list, if create query times out.
<https://issues.apache.org/jira/browse/CASSANDRA-9689> and did not know
what was what. I will give it another try sometime, but would appreciate
knowing if this is going to run into trouble before we find it.

We are basically using Cassandra to share fairly transient information We
can cope with data loss during environment changes and occasional losses at
other times. But if the environment is stable then it should all just work,
whatever the environment is. We use a very high replication factor so all
nodes have a copy of all the data and will keep working even if they are
the only one up.

Thanks

-- 

Stephen Baynes

Reply via email to