Changes impacting upgrade

Changes in Cassandra you should be aware of.

Changes that can affect upgrading to Cassandra 1.2.10 are:
  • The nodetool upgradesstables command now only upgrades/rewrites sstables that are not on the current version, which is usually what you want.

    Use the new -a flag to recover the old behavior of rewriting all sstables.

  • Tables using LeveledCompactionStrategy do not create a row-level bloom filter by default.

    In versions of Cassandra before 1.2 the default value differs from the current value. Manually set the false positive rate to 1.0 (to disable) or 0.01 (to enable, if you make many requests for rows that do not exist).

  • The default version of CQL (and cqlsh) is CQL 3.0.

    CQL 2 is still available.

  • In CQL 3, the DROP behavior has been removed temporarily from ALTER TABLE because it was not correctly implemented.
  • Use lowercase property map keys in ALTER and CREATE statements.
    In earlier releases, CQL3 property map keys used in ALTER and CREATE statements were case-insensitive. For example, CLASS or class and REPLICATION_FACTOR or replication_factor were permitted. The case-sensitivity of the property map keys was inconsistent with the treatment of other string literals and incompatible with formatting of NetworkTopologyStrategy property maps, which have case-sensitive data center names. In this release property map keys, such as class and replication_factor are case-sensitive. Lowercase property map keys are shown in this example:
    CREATE KEYSPACE test WITH replication =
      { 'class' : 'SimpleStrategy', 'replication_factor' : '1' };
  • You might need to fix queries having loose type validation of CQL 3 constants that now have strong validation.

    See the changelog section of http://cassandra.apache.org/doc/cql3/CQL.html. Using blobs as strings constants is now deprecated in favor of blob constants.