Merge branch 'cassandra-2.0' into trunk Conflicts: CHANGES.txt src/java/org/apache/cassandra/tools/NodeCmd.java src/resources/org/apache/cassandra/tools/NodeToolHelp.yaml
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/63f110b5 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/63f110b5 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/63f110b5 Branch: refs/heads/trunk Commit: 63f110b5e058217c1d7e3d178b367b918ca2f856 Parents: fc91071 728c4fa Author: Aleksey Yeschenko <alek...@apache.org> Authored: Mon Feb 3 23:32:23 2014 +0300 Committer: Aleksey Yeschenko <alek...@apache.org> Committed: Mon Feb 3 23:32:23 2014 +0300 ---------------------------------------------------------------------- CHANGES.txt | 4 + NEWS.txt | 12 ++- .../apache/cassandra/db/ColumnFamilyStore.java | 4 +- .../db/compaction/CompactionManager.java | 12 +-- .../cassandra/db/compaction/Scrubber.java | 37 ++++++--- .../cassandra/service/StorageService.java | 4 +- .../cassandra/service/StorageServiceMBean.java | 2 +- .../org/apache/cassandra/tools/NodeProbe.java | 4 +- .../org/apache/cassandra/tools/NodeTool.java | 11 ++- .../cassandra/tools/StandaloneScrubber.java | 6 +- .../unit/org/apache/cassandra/db/ScrubTest.java | 81 ++++++++++++++++++-- 11 files changed, 141 insertions(+), 36 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/63f110b5/CHANGES.txt ---------------------------------------------------------------------- diff --cc CHANGES.txt index 6ca163a,a1a58a3..f9da65c --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,32 -1,7 +1,36 @@@ +2.1 + * add listsnapshots command to nodetool (CASSANDRA-5742) + * Introduce AtomicBTreeColumns (CASSANDRA-6271) + * Multithreaded commitlog (CASSANDRA-3578) + * allocate fixed index summary memory pool and resample cold index summaries + to use less memory (CASSANDRA-5519) + * Removed multithreaded compaction (CASSANDRA-6142) + * Parallelize fetching rows for low-cardinality indexes (CASSANDRA-1337) + * change logging from log4j to logback (CASSANDRA-5883) + * switch to LZ4 compression for internode communication (CASSANDRA-5887) + * Stop using Thrift-generated Index* classes internally (CASSANDRA-5971) + * Remove 1.2 network compatibility code (CASSANDRA-5960) + * Remove leveled json manifest migration code (CASSANDRA-5996) + * Remove CFDefinition (CASSANDRA-6253) + * Use AtomicIntegerFieldUpdater in RefCountedMemory (CASSANDRA-6278) + * User-defined types for CQL3 (CASSANDRA-5590) + * Use of o.a.c.metrics in nodetool (CASSANDRA-5871, 6406) + * Batch read from OTC's queue and cleanup (CASSANDRA-1632) + * Secondary index support for collections (CASSANDRA-4511, 6383) + * SSTable metadata(Stats.db) format change (CASSANDRA-6356) + * Push composites support in the storage engine + (CASSANDRA-5417, CASSANDRA-6520) + * Add snapshot space used to cfstats (CASSANDRA-6231) + * Add cardinality estimator for key count estimation (CASSANDRA-5906) + * CF id is changed to be non-deterministic. Data dir/key cache are created + uniquely for CF id (CASSANDRA-5202) + * New counters implementation (CASSANDRA-6504) + + + 2.0.6 + * Let scrub optionally skip broken counter partitions (CASSANDRA-5930) + + 2.0.5 * Reduce garbage generated by bloom filter lookups (CASSANDRA-6609) * Add ks.cf names to tombstone logging (CASSANDRA-6597) http://git-wip-us.apache.org/repos/asf/cassandra/blob/63f110b5/NEWS.txt ---------------------------------------------------------------------- diff --cc NEWS.txt index 72b898e,b21fbaa..185f60c --- a/NEWS.txt +++ b/NEWS.txt @@@ -13,37 -13,17 +13,47 @@@ restore snapshots created with the prev 'sstableloader' tool. You can upgrade the file format of your snapshots using the provided 'sstableupgrade' tool. +2.1 +=== + +New features +------------ + - SSTable data directory name is slightly changed. Each directory will + have hex string appended after CF name, e.g. + ks/cf-5be396077b811e3a3ab9dc4b9ac088d/ + This hex string part represents unique ColumnFamily ID. + Note that existing directories are used as is, so only newly created + directories after upgrade have new directory name format. + - Saved key cache files also have ColumnFamily ID in their file name. + +Upgrading +--------- + - Rolling upgrades from anything pre-2.0.5 is not supported. + - For leveled compaction users, 2.0 must be atleast started before + upgrading to 2.1 due to the fact that the old JSON leveled + manifest is migrated into the sstable metadata files on startup + in 2.0 and this code is gone from 2.1. + - For size-tiered compaction users, Cassandra now defaults to ignoring + the coldest 5% of sstables. This can be customized with the + cold_reads_to_omit compaction option; 0.0 omits nothing (the old + behavior) and 1.0 omits everything. + - Multithreaded compaction has been removed. + - Counters implementation has been changed, replaced by a safer one with + less caveats, but different performance characteristics. You might have + to change your data model to accomodate the new implementation. + (See https://issues.apache.org/jira/browse/CASSANDRA-6504 and the dev + blog post at http://www.datastax.com/dev/blog/<PLACEHOLDER> for details). + 2.0.6 + ===== + + New features + ------------ + - Scrub can now optionally skip corrupt counter partitions. Please note + that this will lead to the loss of all the counter updates in the skipped + partition. See the --skip-corrupted option. + + 2.0.5 ===== http://git-wip-us.apache.org/repos/asf/cassandra/blob/63f110b5/src/java/org/apache/cassandra/db/ColumnFamilyStore.java ---------------------------------------------------------------------- diff --cc src/java/org/apache/cassandra/db/ColumnFamilyStore.java index a46cde5,38d87db..14b3571 --- a/src/java/org/apache/cassandra/db/ColumnFamilyStore.java +++ b/src/java/org/apache/cassandra/db/ColumnFamilyStore.java @@@ -1298,12 -1110,12 +1298,12 @@@ public class ColumnFamilyStore implemen return maxFile; } - public void forceCleanup(CounterId.OneShotRenewer renewer) throws ExecutionException, InterruptedException + public void forceCleanup() throws ExecutionException, InterruptedException { - CompactionManager.instance.performCleanup(ColumnFamilyStore.this, renewer); + CompactionManager.instance.performCleanup(ColumnFamilyStore.this); } - public void scrub(boolean disableSnapshot) throws ExecutionException, InterruptedException + public void scrub(boolean disableSnapshot, boolean skipCorrupted) throws ExecutionException, InterruptedException { // skip snapshot creation during scrub, SEE JIRA 5891 if(!disableSnapshot) http://git-wip-us.apache.org/repos/asf/cassandra/blob/63f110b5/src/java/org/apache/cassandra/db/compaction/CompactionManager.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/63f110b5/src/java/org/apache/cassandra/db/compaction/Scrubber.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/63f110b5/src/java/org/apache/cassandra/service/StorageService.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/63f110b5/src/java/org/apache/cassandra/service/StorageServiceMBean.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/63f110b5/src/java/org/apache/cassandra/tools/NodeProbe.java ----------------------------------------------------------------------