Updated Branches: refs/heads/trunk 980663a39 -> a4fc7e270
merge from 1.0 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/a4fc7e27 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/a4fc7e27 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/a4fc7e27 Branch: refs/heads/trunk Commit: a4fc7e27045113ff680327558eef49f6d0c317d9 Parents: 980663a 185eca5 Author: Jonathan Ellis <[email protected]> Authored: Wed Jan 11 13:50:29 2012 -0600 Committer: Jonathan Ellis <[email protected]> Committed: Wed Jan 11 13:50:29 2012 -0600 ---------------------------------------------------------------------- CHANGES.txt | 7 +++ NEWS.txt | 15 +++++ bin/cqlsh | 27 +++++++++ debian/changelog | 6 ++ .../concurrent/DebuggableThreadPoolExecutor.java | 2 +- .../cassandra/concurrent/NamedThreadFactory.java | 1 + src/java/org/apache/cassandra/db/Memtable.java | 8 +++- .../cassandra/db/compaction/LeveledManifest.java | 20 +++++--- .../org/apache/cassandra/net/MessagingService.java | 10 +--- .../cassandra/service/AbstractCassandraDaemon.java | 13 +++-- .../apache/cassandra/service/StorageService.java | 9 ++-- .../cassandra/thrift/CustomTThreadPoolServer.java | 43 +++++++-------- .../org/apache/cassandra/utils/ExpiringMap.java | 17 ++++++ .../org/apache/cassandra/service/RemoveTest.java | 2 +- 14 files changed, 129 insertions(+), 51 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/a4fc7e27/CHANGES.txt ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/a4fc7e27/NEWS.txt ---------------------------------------------------------------------- diff --cc NEWS.txt index 036399b,2356faa..0f54918 --- a/NEWS.txt +++ b/NEWS.txt @@@ -8,65 -8,14 +8,73 @@@ upgrade, just in case you need to roll (Cassandra version X + 1 will always be able to read data files created by version X, but the inverse is not necessarily the case.) + +1.1 +=== + +Upgrading +--------- + - If you are running a multi datacenter setup, you should upgrade to + the latest 1.0.x (or 0.8.x) release before upgrading. Versions + 0.8.8 and 1.0.3-1.0.5 generate cross-dc forwarding that is incompatible + with 1.1. + - EACH_QUORUM ConsistencyLevel is only supported for writes and will now + throw an InvalidRequestException when used for reads. (Previous + versions would silently perform a LOCAL_QUORUM read instead.) + - ANY ConsistencyLevel is only supported for writes and will now + throw an InvalidRequestException when used for reads. (Previous + versions would silently perform a ONE read for range queries; + single-row and multiget reads already rejected ANY.) + - The largest mutation batch accepted by the commitlog is now 128MB. + (In practice, batches larger than ~10MB always caused poor + performance due to load volatility and GC promotion failures.) + Larger batches will continue to be accepted but will not be + durable. Consider setting durable_writes=false if you really + want to use such large batches. + - Make sure that global settings: key_cache_{size_in_mb, save_period} + and row_cache_{size_in_mb, save_period} in conf/cassandra.yaml are + used instead of per-ColumnFamily options. + - JMX methods no longer return custom Cassandra objects. Any such methods + will now return standard Maps, Lists, etc. + - Hadoop input and output details are now separated. If you were + previously using methods such as getRpcPort you now need to use + getInputRpcPort or getOutputRpcPort depending on the circumstance. + - CQL changes: + + Prior to 1.1, you could use KEY as the primary key name in some + select statements, even if the PK was actually given a different + name. In 1.1+ you must use the defined PK name. + + +Features +-------- + - Cassandra 1.1 adds row-level isolation. Multi-column updates to + a single row have always been *atomic* (either all will be applied, + or none) thanks to the CommitLog, but until 1.1 they were not *isolated* + -- a reader may see mixed old and new values while the update happens. + - Finer-grained control over data directories, allowing a ColumnFamily to + be pinned to specfic media. + - Hadoop: a new BulkOutputFormat is included which will directly write + SSTables locally and then stream them into the cluster. + - The bulk loader is not longer a fat client; it can be run from an + existing machine in a cluster. + - A new write survey mode has been added, similar to bootstrap (enabled via + -Dcassandra.write_survey=true), but the node will not automatically join + the cluster. This is useful for cases such as testing different + compaction strategies with live traffic without affecting the cluster. + - Key and row caches are now global, similar to the global memtable + threshold. + - Off-heap caches no longer require JNA. + - Streaming is now multithreaded. + + + 1.0.7 + ===== + + Upgrading + --------- + - Nothing specific to 1.0.7, please report to instruction for 1.0.6 + + 1.0.6 ===== http://git-wip-us.apache.org/repos/asf/cassandra/blob/a4fc7e27/src/java/org/apache/cassandra/concurrent/DebuggableThreadPoolExecutor.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/a4fc7e27/src/java/org/apache/cassandra/db/Memtable.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/a4fc7e27/src/java/org/apache/cassandra/db/compaction/LeveledManifest.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/a4fc7e27/src/java/org/apache/cassandra/net/MessagingService.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/a4fc7e27/src/java/org/apache/cassandra/service/AbstractCassandraDaemon.java ---------------------------------------------------------------------- diff --cc src/java/org/apache/cassandra/service/AbstractCassandraDaemon.java index 68e64cf,028f82f..ff3446e --- a/src/java/org/apache/cassandra/service/AbstractCassandraDaemon.java +++ b/src/java/org/apache/cassandra/service/AbstractCassandraDaemon.java @@@ -30,27 -31,28 +30,27 @@@ import java.util.concurrent.ThreadPoolE import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicInteger; -import org.apache.cassandra.concurrent.NamedThreadFactory; -import org.apache.cassandra.config.Schema; -import org.apache.cassandra.gms.Gossiper; ++import com.google.common.collect.Iterables; import org.apache.log4j.PropertyConfigurator; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.apache.cassandra.concurrent.DebuggableThreadPoolExecutor; ++import org.apache.cassandra.concurrent.NamedThreadFactory; import org.apache.cassandra.config.CFMetaData; import org.apache.cassandra.config.ConfigurationException; import org.apache.cassandra.config.DatabaseDescriptor; +import org.apache.cassandra.config.Schema; - import org.apache.cassandra.gms.Gossiper; import org.apache.cassandra.db.ColumnFamilyStore; +import org.apache.cassandra.db.Directories; import org.apache.cassandra.db.SystemTable; import org.apache.cassandra.db.Table; import org.apache.cassandra.db.commitlog.CommitLog; import org.apache.cassandra.db.migration.Migration; ++import org.apache.cassandra.gms.Gossiper; import org.apache.cassandra.utils.CLibrary; import org.apache.cassandra.utils.Mx4jTool; -import org.apache.commons.lang.ArrayUtils; - -import com.google.common.collect.Iterables; - import com.google.common.collect.Iterables; - /** * The <code>CassandraDaemon</code> is an abstraction for a Cassandra daemon * service, which defines not only a way to activate and deactivate it, but also http://git-wip-us.apache.org/repos/asf/cassandra/blob/a4fc7e27/src/java/org/apache/cassandra/service/StorageService.java ----------------------------------------------------------------------
