Search code examples
cassandracql3

Is it possible to alter Cassandra static column family in production without downtime?


In case we need to add new columns to existing Cassandra (version 1.2) static column family in production, can we do it without downtime provided we have hundreds of nodes and multiple data centers?

It would be disappointing if not possible.


Solution

  • In the case of adding columns, all that is really going on with an 'ALTER' statement in CQL is some meta-data entry in the system tables. No data files are being re-written.

    This meta-data is then used for validation from both the API transports and compaction.

    If you really have that big a cluster, you will need to wait a short while for the change to propagate - cqlsh blocks until this happens, IIRC.