You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by jb...@apache.org on 2010/08/18 18:05:19 UTC
svn commit: r986764 - /cassandra/trunk/NEWS.txt
Author: jbellis
Date: Wed Aug 18 16:05:18 2010
New Revision: 986764
URL: http://svn.apache.org/viewvc?rev=986764&view=rev
Log:
update NEWS for 0.7. patch by gdusbabek and jbellis for CASSANDRA-1395
Modified:
cassandra/trunk/NEWS.txt
Modified: cassandra/trunk/NEWS.txt
URL: http://svn.apache.org/viewvc/cassandra/trunk/NEWS.txt?rev=986764&r1=986763&r2=986764&view=diff
==============================================================================
--- cassandra/trunk/NEWS.txt (original)
+++ cassandra/trunk/NEWS.txt Wed Aug 18 16:05:18 2010
@@ -3,53 +3,77 @@
Features
--------
- - Row keys are now bytes: keys stored by versions prior to 0.7.0 will be
- returned as UTF-8 encoded bytes. OrderPreservingPartitioner and
- CollatingOrderPreservingPartitioner continue to expect that keys contain
- UTF-8 encoded strings, but RandomPartitioner no longer expects strings.
- - A new ByteOrderedPartitioner supports bytes keys with arbitrary content,
- and orders keys by their byte value.
- - Truncate thrift method allows clearing an entire ColumnFamily at once
+ - Secondary indexes (indexes on column values) are now supported
+ - Row size limit increased from 2GB to 2 billion columns. rows
+ are no longer read into memory during compaction.
+ - Keyspace and ColumnFamily definitions may be added and modified live
+ - Streaming data for repair or node movement no longer requires
+ anticompaction step first
- NetworkTopologyStrategy (formerly DatacenterShardStrategy) is ready for
use, enabling ConsitencyLevel.DCQUORUM and DCQUORUMSYNC. See comments
in `cassandra.yaml.`
- - row size limit increased from 2GB to 2 billion columns
+ - Optional per-Column time-to-live field allows expiring data without
+ have to issue explicit remove commands
+ - `truncate` thrift method allows clearing an entire ColumnFamily at once
- Hadoop OutputFormat support
- - Streaming data for repair or node movement no longer requires
- anticompaction step first
- - keyspace is per-connection in the thrift API instead of per-call
- - optional round-robin scheduling between keyspaces for multitenant
+ - Up to 8x faster reads from row cache
+ - A new ByteOrderedPartitioner supports bytes keys with arbitrary content,
+ and orders keys by their byte value. This should be used in new
+ deployments instead of OrderPreservingPartitioner.
+ - Optional round-robin scheduling between keyspaces for multitenant
clusters
- - dynamic endpoint snitch mitigates the impact of impaired nodes
- - significantly faster reads from row cache
- - introduced IntegerType that is both faster than LongType and
- allows integers of both less and more bits than Long's 64
+ - Dynamic endpoint snitch mitigates the impact of impaired nodes
+ - New `IntegerType`, faster than LongType and allows integers of
+ both less and more bits than Long's 64
+
+Upgrading
+---------
+ The Thrift API has changed in incompatible ways; see below, and refer
+ to http://wiki.apache.org/cassandra/ClientOptions for a list of
+ higher-level clients that have been updated to support the 0.7 API.
+
+ The Cassandra inter-node protocol is incompatible with 0.6.x releases,
+ meaning you will have to bring your cluster down prior to upgrading;
+ you cannot mix 0.6 and 0.7 nodes.
+
+ Keyspace and ColumnFamily definitions are stored in the system
+ keyspace, rather than the configuration file.
+
+ The process to upgrade is:
+ 1) run "nodetool drain" on _each_ 0.6 node. When drain finishes (log
+ message "Node is drained" appears), stop the process.
+ 2) Convert your storage-conf.xml to the new cassandra.yaml using
+ "bin/config-converter".
+ 3) Stand up your cluster with the 0.7 version.
+ 4) Initialize your Keyspace and ColumnFamily definitions using
+ "bin/schematool <host> <jmxport> import". _You only need to do
+ this to one node_.
+
+Thrift API
+----------
+ - Row keys are now bytes: keys stored by versions prior to 0.7.0 will be
+ returned as UTF-8 encoded bytes. OrderPreservingPartitioner and
+ CollatingOrderPreservingPartitioner continue to expect that keys contain
+ UTF-8 encoded strings, but RandomPartitioner now works on any key data.
+ - i64 timestamps have been replaced with the Clock struct.
+ - keyspace parameters have been replaced with the per-connection
+ set_keyspace method.
+ - The return type for login() is now AccessLevel.
+ - The get_string_property() method has been removed.
+ - The get_string_list_property() method has been removed.
Configuraton
------------
- Configuration file renamed to cassandra.yaml and log4j.properties to
log4j-server.properties
- - Added 'bin/config-converter' to convert existing storage-conf.xml or
- cassandra.xml files to a cassandra.yaml file. When executed, it will
- create a cassandra.yaml file in any directory containing a matching
- xml file.
- The ThriftAddress and ThriftPort directives have been renamed to
RPCAddress and RPCPort respectively.
- - The keyspaces defined in cassandra.yaml are ignored on startup as a
- result of CASSANDRA-44. A JMX method has been exposed in the
- StorageServiceMBean to force a schema load from cassandra.yaml. It
- is a one-shot affair though and you should conduct it on a seed node
- before other nodes. Subsequent restarts will load the schema from the
- system table and attempts to load the schema from YAML will be ignored.
- You shoud only have to do this for one node since new nodes will receive
- schema updates on startup from the seed node you updated manually.
- EndPointSnitch was renamed to RackInferringSnitch. A new SimpleSnitch
has been added.
+ - RackUnawareStrategy and RackAwareStrategy have been renamed to
+ SimpleStrategy and OldNetworkTopologyStrategy, respectively.
- RowWarningThresholdInMB replaced with in_memory_compaction_limit_in_mb
- GCGraceSeconds is now per-ColumnFamily instead of global
- - Configuration of NetworkTopologyStrategy is now a part of the keyspace
- definition using the strategy_options attribute.
- The datacenter.properties file is no longer used.
JMX
---
@@ -58,19 +82,11 @@ JMX
- {Min,Mean,Max}RowCompactedSize renamed to {Min,Mean,Max}RowSize
since it no longer has to wait til compaction to be computed
-Thrift API
-----------
- - Row keys are now 'bytes': see the Features list.
- - The return type for login() is now AccessLevel.
- - The get_string_property() method has been removed.
- - The get_string_list_property() method has been removed.
-
Other
-----
- If extending AbstractType, make sure you follow the singleton pattern
- followed by Cassandra core AbstractType extensions.
- e.g. BytesType has a variable called 'instance' and an empty constructor
- with default access
+ followed by Cassandra core AbstractType classes: provide a public
+ static final variable called 'instance'.
0.6.1