[2/2] git commit: Merge branch 'cassandra-2.0' into cassandra-2.1.0
Merge branch 'cassandra-2.0' into cassandra-2.1.0 Conflicts: CHANGES.txt NEWS.txt src/java/org/apache/cassandra/db/compaction/LeveledManifest.java Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/8c4ffbe6 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/8c4ffbe6 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/8c4ffbe6 Branch: refs/heads/cassandra-2.1.0 Commit: 8c4ffbe6577f3862ee0123199893097154431448 Parents: ea38ddc f39cb07 Author: Marcus Eriksson marc...@apache.org Authored: Thu Jul 3 14:29:31 2014 +0200 Committer: Marcus Eriksson marc...@apache.org Committed: Thu Jul 3 14:29:31 2014 +0200 -- CHANGES.txt | 1 + NEWS.txt| 9 + .../org/apache/cassandra/config/DatabaseDescriptor.java | 5 + .../org/apache/cassandra/db/compaction/LeveledManifest.java | 5 - 4 files changed, 19 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/8c4ffbe6/CHANGES.txt -- diff --cc CHANGES.txt index 22c4123,94bea7b..75a1786 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -15,37 -7,31 +15,38 @@@ Merged from 2.0 * Make sure high level sstables get compacted (CASSANDRA-7414) * Fix AssertionError when using empty clustering columns and static columns (CASSANDRA-7455) - * Add inter_dc_stream_throughput_outbound_megabits_per_sec (CASSANDRA-6596) + * Add option to disable STCS in L0 (CASSANDRA-6621) -Merged from 1.2: + * Upgrade to snappy-java 1.0.5.2 (CASSANDRA-7476) -2.0.9 - * Fix CC#collectTimeOrderedData() tombstone optimisations (CASSANDRA-7394) - * Fix assertion error in CL.ANY timeout handling (CASSANDRA-7364) - * Handle empty CFs in Memtable#maybeUpdateLiveRatio() (CASSANDRA-7401) +2.1.0-rc2 + * Fix heap size calculation for CompoundSparseCellName and + CompoundSparseCellName.WithCollection (CASSANDRA-7421) + * Allow counter mutations in UNLOGGED batches (CASSANDRA-7351) + * Modify reconcile logic to always pick a tombstone over a counter cell + (CASSANDRA-7346) + * Avoid incremental compaction on Windows (CASSANDRA-7365) + * Fix exception when querying a composite-keyed table with a collection index + (CASSANDRA-7372) + * Use node's host id in place of counter ids (CASSANDRA-7366) * Fix native protocol CAS batches (CASSANDRA-7337) + * Reduce likelihood of contention on local paxos locking (CASSANDRA-7359) + * Upgrade to Pig 0.12.1 (CASSANDRA-6556) + * Make sure we clear out repair sessions from netstats (CASSANDRA-7329) + * Don't fail streams on failure detector downs (CASSANDRA-3569) + * Add optional keyspace to DROP INDEX statement (CASSANDRA-7314) + * Reduce run time for CQL tests (CASSANDRA-7327) + * Fix heap size calculation on Windows (CASSANDRA-7352, 7353) + * RefCount native frames from netty (CASSANDRA-7245) + * Use tarball dir instead of /var for default paths (CASSANDRA-7136) + * Remove rows_per_partition_to_cache keyword (CASSANDRA-7193) + * Fix schema change response in native protocol v3 (CASSANDRA-7413) +Merged from 2.0: + * Fix assertion error in CL.ANY timeout handling (CASSANDRA-7364) * Add per-CF range read request latency metrics (CASSANDRA-7338) * Fix NPE in StreamTransferTask.createMessageForRetry() (CASSANDRA-7323) - * Add conditional CREATE/DROP USER support (CASSANDRA-7264) - * Swap local and global default read repair chances (CASSANDRA-7320) - * Add missing iso8601 patterns for date strings (CASSANDRA-6973) - * Support selecting multiple rows in a partition using IN (CASSANDRA-6875) - * cqlsh: always emphasize the partition key in DESC output (CASSANDRA-7274) - * Copy compaction options to make sure they are reloaded (CASSANDRA-7290) - * Add option to do more aggressive tombstone compactions (CASSANDRA-6563) - * Don't try to compact already-compacting files in HHOM (CASSANDRA-7288) - * Add authentication support to shuffle (CASSANDRA-6484) - * Cqlsh counts non-empty lines for Blank lines warning (CASSANDRA-7325) * Make StreamSession#closeSession() idempotent (CASSANDRA-7262) * Fix infinite loop on exception while streaming (CASSANDRA-7330) - * Reference sstables before populating key cache (CASSANDRA-7234) * Account for range tombstones in min/max column names (CASSANDRA-7235) * Improve sub range repair validation (CASSANDRA-7317) * Accept subtypes for function results, type casts (CASSANDRA-6766) http://git-wip-us.apache.org/repos/asf/cassandra/blob/8c4ffbe6/NEWS.txt -- diff --cc NEWS.txt index 2cbd963,ea085ae..c35bc11 --- a/NEWS.txt +++ b/NEWS.txt @@@ -13,64 -13,15
[4/4] git commit: Merge branch 'cassandra-2.1' into trunk
Merge branch 'cassandra-2.1' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/72c08f11 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/72c08f11 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/72c08f11 Branch: refs/heads/trunk Commit: 72c08f11a219151de1910b9d02a8b80c9e4d0f9e Parents: c58b2b2 a0bfdeb Author: Marcus Eriksson marc...@apache.org Authored: Thu Jul 3 14:29:59 2014 +0200 Committer: Marcus Eriksson marc...@apache.org Committed: Thu Jul 3 14:29:59 2014 +0200 -- CHANGES.txt | 1 + NEWS.txt| 9 + .../org/apache/cassandra/config/DatabaseDescriptor.java | 5 + .../org/apache/cassandra/db/compaction/LeveledManifest.java | 5 - 4 files changed, 19 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/72c08f11/CHANGES.txt -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/72c08f11/NEWS.txt -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/72c08f11/src/java/org/apache/cassandra/config/DatabaseDescriptor.java --
[1/3] git commit: Add property to disable stcs in L0
Repository: cassandra Updated Branches: refs/heads/cassandra-2.1 047c67efb - a0bfdebca Add property to disable stcs in L0 Patch by marcuse; reviewed by tjake for CASSANDRA-6621 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/f39cb073 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/f39cb073 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/f39cb073 Branch: refs/heads/cassandra-2.1 Commit: f39cb073ac0ecd68a3df4b60c43d6b0b8f3e8de6 Parents: 4c95d08 Author: Marcus Eriksson marc...@apache.org Authored: Fri Jun 27 08:56:50 2014 +0200 Committer: Marcus Eriksson marc...@apache.org Committed: Thu Jul 3 14:19:50 2014 +0200 -- CHANGES.txt | 1 + NEWS.txt| 9 + .../org/apache/cassandra/config/DatabaseDescriptor.java | 5 + .../org/apache/cassandra/db/compaction/LeveledManifest.java | 3 ++- 4 files changed, 17 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/f39cb073/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 6b93631..94bea7b 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -8,6 +8,7 @@ * Fix AssertionError when using empty clustering columns and static columns (CASSANDRA-7455) * Add inter_dc_stream_throughput_outbound_megabits_per_sec (CASSANDRA-6596) + * Add option to disable STCS in L0 (CASSANDRA-6621) Merged from 1.2: http://git-wip-us.apache.org/repos/asf/cassandra/blob/f39cb073/NEWS.txt -- diff --git a/NEWS.txt b/NEWS.txt index 0fbc20f..ea085ae 100644 --- a/NEWS.txt +++ b/NEWS.txt @@ -13,6 +13,15 @@ restore snapshots created with the previous major version using the 'sstableloader' tool. You can upgrade the file format of your snapshots using the provided 'sstableupgrade' tool. +2.0.10 + +New features + +- If you are using Leveled Compaction, you can now disable doing size-tiered + compaction in L0 by starting Cassandra with -Dcassandra.disable_stcs_in_l0 + (see CASSANDRA-6621 for details). + + 2.0.9 = http://git-wip-us.apache.org/repos/asf/cassandra/blob/f39cb073/src/java/org/apache/cassandra/config/DatabaseDescriptor.java -- diff --git a/src/java/org/apache/cassandra/config/DatabaseDescriptor.java b/src/java/org/apache/cassandra/config/DatabaseDescriptor.java index badd975..bf0307b 100644 --- a/src/java/org/apache/cassandra/config/DatabaseDescriptor.java +++ b/src/java/org/apache/cassandra/config/DatabaseDescriptor.java @@ -904,6 +904,11 @@ public class DatabaseDescriptor conf.compaction_throughput_mb_per_sec = value; } +public static boolean getDisableSTCSInL0() +{ +return Boolean.getBoolean(cassandra.disable_stcs_in_l0); +} + public static int getStreamThroughputOutboundMegabitsPerSec() { return conf.stream_throughput_outbound_megabits_per_sec; http://git-wip-us.apache.org/repos/asf/cassandra/blob/f39cb073/src/java/org/apache/cassandra/db/compaction/LeveledManifest.java -- diff --git a/src/java/org/apache/cassandra/db/compaction/LeveledManifest.java b/src/java/org/apache/cassandra/db/compaction/LeveledManifest.java index 1118ddc..70e5cae 100644 --- a/src/java/org/apache/cassandra/db/compaction/LeveledManifest.java +++ b/src/java/org/apache/cassandra/db/compaction/LeveledManifest.java @@ -34,6 +34,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.apache.cassandra.config.CFMetaData; +import org.apache.cassandra.config.DatabaseDescriptor; import org.apache.cassandra.config.Schema; import org.apache.cassandra.db.ColumnFamilyStore; import org.apache.cassandra.db.RowPosition; @@ -267,7 +268,7 @@ public class LeveledManifest if (score 1.001) { // before proceeding with a higher level, let's see if L0 is far enough behind to warrant STCS -if (generations[0].size() MAX_COMPACTING_L0) +if (!DatabaseDescriptor.getDisableSTCSInL0() generations[0].size() MAX_COMPACTING_L0) { IterableSSTableReader candidates = cfs.getDataTracker().getUncompactingSSTables(generations[0]); ListPairSSTableReader,Long pairs = SizeTieredCompactionStrategy.createSSTableAndLengthPairs(AbstractCompactionStrategy.filterSuspectSSTables(candidates));
[2/3] git commit: Merge branch 'cassandra-2.0' into cassandra-2.1.0
Merge branch 'cassandra-2.0' into cassandra-2.1.0 Conflicts: CHANGES.txt NEWS.txt src/java/org/apache/cassandra/db/compaction/LeveledManifest.java Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/8c4ffbe6 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/8c4ffbe6 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/8c4ffbe6 Branch: refs/heads/cassandra-2.1 Commit: 8c4ffbe6577f3862ee0123199893097154431448 Parents: ea38ddc f39cb07 Author: Marcus Eriksson marc...@apache.org Authored: Thu Jul 3 14:29:31 2014 +0200 Committer: Marcus Eriksson marc...@apache.org Committed: Thu Jul 3 14:29:31 2014 +0200 -- CHANGES.txt | 1 + NEWS.txt| 9 + .../org/apache/cassandra/config/DatabaseDescriptor.java | 5 + .../org/apache/cassandra/db/compaction/LeveledManifest.java | 5 - 4 files changed, 19 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/8c4ffbe6/CHANGES.txt -- diff --cc CHANGES.txt index 22c4123,94bea7b..75a1786 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -15,37 -7,31 +15,38 @@@ Merged from 2.0 * Make sure high level sstables get compacted (CASSANDRA-7414) * Fix AssertionError when using empty clustering columns and static columns (CASSANDRA-7455) - * Add inter_dc_stream_throughput_outbound_megabits_per_sec (CASSANDRA-6596) + * Add option to disable STCS in L0 (CASSANDRA-6621) -Merged from 1.2: + * Upgrade to snappy-java 1.0.5.2 (CASSANDRA-7476) -2.0.9 - * Fix CC#collectTimeOrderedData() tombstone optimisations (CASSANDRA-7394) - * Fix assertion error in CL.ANY timeout handling (CASSANDRA-7364) - * Handle empty CFs in Memtable#maybeUpdateLiveRatio() (CASSANDRA-7401) +2.1.0-rc2 + * Fix heap size calculation for CompoundSparseCellName and + CompoundSparseCellName.WithCollection (CASSANDRA-7421) + * Allow counter mutations in UNLOGGED batches (CASSANDRA-7351) + * Modify reconcile logic to always pick a tombstone over a counter cell + (CASSANDRA-7346) + * Avoid incremental compaction on Windows (CASSANDRA-7365) + * Fix exception when querying a composite-keyed table with a collection index + (CASSANDRA-7372) + * Use node's host id in place of counter ids (CASSANDRA-7366) * Fix native protocol CAS batches (CASSANDRA-7337) + * Reduce likelihood of contention on local paxos locking (CASSANDRA-7359) + * Upgrade to Pig 0.12.1 (CASSANDRA-6556) + * Make sure we clear out repair sessions from netstats (CASSANDRA-7329) + * Don't fail streams on failure detector downs (CASSANDRA-3569) + * Add optional keyspace to DROP INDEX statement (CASSANDRA-7314) + * Reduce run time for CQL tests (CASSANDRA-7327) + * Fix heap size calculation on Windows (CASSANDRA-7352, 7353) + * RefCount native frames from netty (CASSANDRA-7245) + * Use tarball dir instead of /var for default paths (CASSANDRA-7136) + * Remove rows_per_partition_to_cache keyword (CASSANDRA-7193) + * Fix schema change response in native protocol v3 (CASSANDRA-7413) +Merged from 2.0: + * Fix assertion error in CL.ANY timeout handling (CASSANDRA-7364) * Add per-CF range read request latency metrics (CASSANDRA-7338) * Fix NPE in StreamTransferTask.createMessageForRetry() (CASSANDRA-7323) - * Add conditional CREATE/DROP USER support (CASSANDRA-7264) - * Swap local and global default read repair chances (CASSANDRA-7320) - * Add missing iso8601 patterns for date strings (CASSANDRA-6973) - * Support selecting multiple rows in a partition using IN (CASSANDRA-6875) - * cqlsh: always emphasize the partition key in DESC output (CASSANDRA-7274) - * Copy compaction options to make sure they are reloaded (CASSANDRA-7290) - * Add option to do more aggressive tombstone compactions (CASSANDRA-6563) - * Don't try to compact already-compacting files in HHOM (CASSANDRA-7288) - * Add authentication support to shuffle (CASSANDRA-6484) - * Cqlsh counts non-empty lines for Blank lines warning (CASSANDRA-7325) * Make StreamSession#closeSession() idempotent (CASSANDRA-7262) * Fix infinite loop on exception while streaming (CASSANDRA-7330) - * Reference sstables before populating key cache (CASSANDRA-7234) * Account for range tombstones in min/max column names (CASSANDRA-7235) * Improve sub range repair validation (CASSANDRA-7317) * Accept subtypes for function results, type casts (CASSANDRA-6766) http://git-wip-us.apache.org/repos/asf/cassandra/blob/8c4ffbe6/NEWS.txt -- diff --cc NEWS.txt index 2cbd963,ea085ae..c35bc11 --- a/NEWS.txt +++ b/NEWS.txt @@@ -13,64 -13,15
[2/4] git commit: Merge branch 'cassandra-2.0' into cassandra-2.1.0
Merge branch 'cassandra-2.0' into cassandra-2.1.0 Conflicts: CHANGES.txt NEWS.txt src/java/org/apache/cassandra/db/compaction/LeveledManifest.java Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/8c4ffbe6 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/8c4ffbe6 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/8c4ffbe6 Branch: refs/heads/trunk Commit: 8c4ffbe6577f3862ee0123199893097154431448 Parents: ea38ddc f39cb07 Author: Marcus Eriksson marc...@apache.org Authored: Thu Jul 3 14:29:31 2014 +0200 Committer: Marcus Eriksson marc...@apache.org Committed: Thu Jul 3 14:29:31 2014 +0200 -- CHANGES.txt | 1 + NEWS.txt| 9 + .../org/apache/cassandra/config/DatabaseDescriptor.java | 5 + .../org/apache/cassandra/db/compaction/LeveledManifest.java | 5 - 4 files changed, 19 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/8c4ffbe6/CHANGES.txt -- diff --cc CHANGES.txt index 22c4123,94bea7b..75a1786 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -15,37 -7,31 +15,38 @@@ Merged from 2.0 * Make sure high level sstables get compacted (CASSANDRA-7414) * Fix AssertionError when using empty clustering columns and static columns (CASSANDRA-7455) - * Add inter_dc_stream_throughput_outbound_megabits_per_sec (CASSANDRA-6596) + * Add option to disable STCS in L0 (CASSANDRA-6621) -Merged from 1.2: + * Upgrade to snappy-java 1.0.5.2 (CASSANDRA-7476) -2.0.9 - * Fix CC#collectTimeOrderedData() tombstone optimisations (CASSANDRA-7394) - * Fix assertion error in CL.ANY timeout handling (CASSANDRA-7364) - * Handle empty CFs in Memtable#maybeUpdateLiveRatio() (CASSANDRA-7401) +2.1.0-rc2 + * Fix heap size calculation for CompoundSparseCellName and + CompoundSparseCellName.WithCollection (CASSANDRA-7421) + * Allow counter mutations in UNLOGGED batches (CASSANDRA-7351) + * Modify reconcile logic to always pick a tombstone over a counter cell + (CASSANDRA-7346) + * Avoid incremental compaction on Windows (CASSANDRA-7365) + * Fix exception when querying a composite-keyed table with a collection index + (CASSANDRA-7372) + * Use node's host id in place of counter ids (CASSANDRA-7366) * Fix native protocol CAS batches (CASSANDRA-7337) + * Reduce likelihood of contention on local paxos locking (CASSANDRA-7359) + * Upgrade to Pig 0.12.1 (CASSANDRA-6556) + * Make sure we clear out repair sessions from netstats (CASSANDRA-7329) + * Don't fail streams on failure detector downs (CASSANDRA-3569) + * Add optional keyspace to DROP INDEX statement (CASSANDRA-7314) + * Reduce run time for CQL tests (CASSANDRA-7327) + * Fix heap size calculation on Windows (CASSANDRA-7352, 7353) + * RefCount native frames from netty (CASSANDRA-7245) + * Use tarball dir instead of /var for default paths (CASSANDRA-7136) + * Remove rows_per_partition_to_cache keyword (CASSANDRA-7193) + * Fix schema change response in native protocol v3 (CASSANDRA-7413) +Merged from 2.0: + * Fix assertion error in CL.ANY timeout handling (CASSANDRA-7364) * Add per-CF range read request latency metrics (CASSANDRA-7338) * Fix NPE in StreamTransferTask.createMessageForRetry() (CASSANDRA-7323) - * Add conditional CREATE/DROP USER support (CASSANDRA-7264) - * Swap local and global default read repair chances (CASSANDRA-7320) - * Add missing iso8601 patterns for date strings (CASSANDRA-6973) - * Support selecting multiple rows in a partition using IN (CASSANDRA-6875) - * cqlsh: always emphasize the partition key in DESC output (CASSANDRA-7274) - * Copy compaction options to make sure they are reloaded (CASSANDRA-7290) - * Add option to do more aggressive tombstone compactions (CASSANDRA-6563) - * Don't try to compact already-compacting files in HHOM (CASSANDRA-7288) - * Add authentication support to shuffle (CASSANDRA-6484) - * Cqlsh counts non-empty lines for Blank lines warning (CASSANDRA-7325) * Make StreamSession#closeSession() idempotent (CASSANDRA-7262) * Fix infinite loop on exception while streaming (CASSANDRA-7330) - * Reference sstables before populating key cache (CASSANDRA-7234) * Account for range tombstones in min/max column names (CASSANDRA-7235) * Improve sub range repair validation (CASSANDRA-7317) * Accept subtypes for function results, type casts (CASSANDRA-6766) http://git-wip-us.apache.org/repos/asf/cassandra/blob/8c4ffbe6/NEWS.txt -- diff --cc NEWS.txt index 2cbd963,ea085ae..c35bc11 --- a/NEWS.txt +++ b/NEWS.txt @@@ -13,64 -13,15 +13,73 @@@
[3/4] git commit: Merge branch 'cassandra-2.1.0' into cassandra-2.1
Merge branch 'cassandra-2.1.0' into cassandra-2.1 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/a0bfdebc Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/a0bfdebc Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/a0bfdebc Branch: refs/heads/trunk Commit: a0bfdebcaae6056440961b7d1c6b1efefa911e4f Parents: 047c67e 8c4ffbe Author: Marcus Eriksson marc...@apache.org Authored: Thu Jul 3 14:29:45 2014 +0200 Committer: Marcus Eriksson marc...@apache.org Committed: Thu Jul 3 14:29:45 2014 +0200 -- CHANGES.txt | 1 + NEWS.txt| 9 + .../org/apache/cassandra/config/DatabaseDescriptor.java | 5 + .../org/apache/cassandra/db/compaction/LeveledManifest.java | 5 - 4 files changed, 19 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/a0bfdebc/CHANGES.txt -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/a0bfdebc/src/java/org/apache/cassandra/db/compaction/LeveledManifest.java --
[1/4] git commit: Add property to disable stcs in L0
Repository: cassandra Updated Branches: refs/heads/trunk c58b2b28e - 72c08f11a Add property to disable stcs in L0 Patch by marcuse; reviewed by tjake for CASSANDRA-6621 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/f39cb073 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/f39cb073 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/f39cb073 Branch: refs/heads/trunk Commit: f39cb073ac0ecd68a3df4b60c43d6b0b8f3e8de6 Parents: 4c95d08 Author: Marcus Eriksson marc...@apache.org Authored: Fri Jun 27 08:56:50 2014 +0200 Committer: Marcus Eriksson marc...@apache.org Committed: Thu Jul 3 14:19:50 2014 +0200 -- CHANGES.txt | 1 + NEWS.txt| 9 + .../org/apache/cassandra/config/DatabaseDescriptor.java | 5 + .../org/apache/cassandra/db/compaction/LeveledManifest.java | 3 ++- 4 files changed, 17 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/f39cb073/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 6b93631..94bea7b 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -8,6 +8,7 @@ * Fix AssertionError when using empty clustering columns and static columns (CASSANDRA-7455) * Add inter_dc_stream_throughput_outbound_megabits_per_sec (CASSANDRA-6596) + * Add option to disable STCS in L0 (CASSANDRA-6621) Merged from 1.2: http://git-wip-us.apache.org/repos/asf/cassandra/blob/f39cb073/NEWS.txt -- diff --git a/NEWS.txt b/NEWS.txt index 0fbc20f..ea085ae 100644 --- a/NEWS.txt +++ b/NEWS.txt @@ -13,6 +13,15 @@ restore snapshots created with the previous major version using the 'sstableloader' tool. You can upgrade the file format of your snapshots using the provided 'sstableupgrade' tool. +2.0.10 + +New features + +- If you are using Leveled Compaction, you can now disable doing size-tiered + compaction in L0 by starting Cassandra with -Dcassandra.disable_stcs_in_l0 + (see CASSANDRA-6621 for details). + + 2.0.9 = http://git-wip-us.apache.org/repos/asf/cassandra/blob/f39cb073/src/java/org/apache/cassandra/config/DatabaseDescriptor.java -- diff --git a/src/java/org/apache/cassandra/config/DatabaseDescriptor.java b/src/java/org/apache/cassandra/config/DatabaseDescriptor.java index badd975..bf0307b 100644 --- a/src/java/org/apache/cassandra/config/DatabaseDescriptor.java +++ b/src/java/org/apache/cassandra/config/DatabaseDescriptor.java @@ -904,6 +904,11 @@ public class DatabaseDescriptor conf.compaction_throughput_mb_per_sec = value; } +public static boolean getDisableSTCSInL0() +{ +return Boolean.getBoolean(cassandra.disable_stcs_in_l0); +} + public static int getStreamThroughputOutboundMegabitsPerSec() { return conf.stream_throughput_outbound_megabits_per_sec; http://git-wip-us.apache.org/repos/asf/cassandra/blob/f39cb073/src/java/org/apache/cassandra/db/compaction/LeveledManifest.java -- diff --git a/src/java/org/apache/cassandra/db/compaction/LeveledManifest.java b/src/java/org/apache/cassandra/db/compaction/LeveledManifest.java index 1118ddc..70e5cae 100644 --- a/src/java/org/apache/cassandra/db/compaction/LeveledManifest.java +++ b/src/java/org/apache/cassandra/db/compaction/LeveledManifest.java @@ -34,6 +34,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.apache.cassandra.config.CFMetaData; +import org.apache.cassandra.config.DatabaseDescriptor; import org.apache.cassandra.config.Schema; import org.apache.cassandra.db.ColumnFamilyStore; import org.apache.cassandra.db.RowPosition; @@ -267,7 +268,7 @@ public class LeveledManifest if (score 1.001) { // before proceeding with a higher level, let's see if L0 is far enough behind to warrant STCS -if (generations[0].size() MAX_COMPACTING_L0) +if (!DatabaseDescriptor.getDisableSTCSInL0() generations[0].size() MAX_COMPACTING_L0) { IterableSSTableReader candidates = cfs.getDataTracker().getUncompactingSSTables(generations[0]); ListPairSSTableReader,Long pairs = SizeTieredCompactionStrategy.createSSTableAndLengthPairs(AbstractCompactionStrategy.filterSuspectSSTables(candidates));
[3/3] git commit: Merge branch 'cassandra-2.1.0' into cassandra-2.1
Merge branch 'cassandra-2.1.0' into cassandra-2.1 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/a0bfdebc Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/a0bfdebc Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/a0bfdebc Branch: refs/heads/cassandra-2.1 Commit: a0bfdebcaae6056440961b7d1c6b1efefa911e4f Parents: 047c67e 8c4ffbe Author: Marcus Eriksson marc...@apache.org Authored: Thu Jul 3 14:29:45 2014 +0200 Committer: Marcus Eriksson marc...@apache.org Committed: Thu Jul 3 14:29:45 2014 +0200 -- CHANGES.txt | 1 + NEWS.txt| 9 + .../org/apache/cassandra/config/DatabaseDescriptor.java | 5 + .../org/apache/cassandra/db/compaction/LeveledManifest.java | 5 - 4 files changed, 19 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/a0bfdebc/CHANGES.txt -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/a0bfdebc/src/java/org/apache/cassandra/db/compaction/LeveledManifest.java --
git commit: Remove left-over rows_per_partition_to_cache
Repository: cassandra Updated Branches: refs/heads/cassandra-2.1.0 8c4ffbe65 - 28164849c Remove left-over rows_per_partition_to_cache Patch by marcuse; reviewed by jbellis for CASSANDRA-7493 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/28164849 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/28164849 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/28164849 Branch: refs/heads/cassandra-2.1.0 Commit: 28164849cc2c48a60d099b137380a662eae06d1e Parents: 8c4ffbe Author: Marcus Eriksson marc...@apache.org Authored: Thu Jul 3 18:40:09 2014 +0200 Committer: Marcus Eriksson marc...@apache.org Committed: Thu Jul 3 18:42:51 2014 +0200 -- CHANGES.txt | 1 + src/java/org/apache/cassandra/config/CFMetaData.java | 1 - src/java/org/apache/cassandra/cql3/statements/CFPropDefs.java | 1 - 3 files changed, 1 insertion(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/28164849/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 75a1786..cd16f35 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -2,6 +2,7 @@ * (Windows) handle spaces in path names (CASSANDRA-7451) * Ensure writes have completed after dropping a table, before recycling commit log segments (CASSANDRA-7437) + * Remove left-over rows_per_partition_to_cache (CASSANDRA-7493) Merged from 2.0: * Fix CC#collectTimeOrderedData() tombstone optimisations (CASSANDRA-7394) * Support DISTINCT for static columns and fix behaviour when DISTINC is http://git-wip-us.apache.org/repos/asf/cassandra/blob/28164849/src/java/org/apache/cassandra/config/CFMetaData.java -- diff --git a/src/java/org/apache/cassandra/config/CFMetaData.java b/src/java/org/apache/cassandra/config/CFMetaData.java index de2466c..dd3d079 100644 --- a/src/java/org/apache/cassandra/config/CFMetaData.java +++ b/src/java/org/apache/cassandra/config/CFMetaData.java @@ -182,7 +182,6 @@ public final class CFMetaData + min_index_interval int, + max_index_interval int, + dropped_columns maptext, bigint, -+ rows_per_partition_to_cache text, + PRIMARY KEY (keyspace_name, columnfamily_name) + ) WITH COMMENT='ColumnFamily definitions' AND gc_grace_seconds=8640); http://git-wip-us.apache.org/repos/asf/cassandra/blob/28164849/src/java/org/apache/cassandra/cql3/statements/CFPropDefs.java -- diff --git a/src/java/org/apache/cassandra/cql3/statements/CFPropDefs.java b/src/java/org/apache/cassandra/cql3/statements/CFPropDefs.java index f920e30..486fc9a 100644 --- a/src/java/org/apache/cassandra/cql3/statements/CFPropDefs.java +++ b/src/java/org/apache/cassandra/cql3/statements/CFPropDefs.java @@ -39,7 +39,6 @@ public class CFPropDefs extends PropertyDefinitions public static final String KW_MINCOMPACTIONTHRESHOLD = min_threshold; public static final String KW_MAXCOMPACTIONTHRESHOLD = max_threshold; public static final String KW_CACHING = caching; -public static final String KW_ROWS_PER_PARTITION_TO_CACHE = rows_per_partition_to_cache; public static final String KW_DEFAULT_TIME_TO_LIVE = default_time_to_live; public static final String KW_MIN_INDEX_INTERVAL = min_index_interval; public static final String KW_MAX_INDEX_INTERVAL = max_index_interval;
[2/2] git commit: Merge branch 'cassandra-2.1.0' into cassandra-2.1
Merge branch 'cassandra-2.1.0' into cassandra-2.1 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/9a6cdf14 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/9a6cdf14 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/9a6cdf14 Branch: refs/heads/cassandra-2.1 Commit: 9a6cdf14818d339faec18119c75d87f82544d232 Parents: a0bfdeb 2816484 Author: Marcus Eriksson marc...@apache.org Authored: Thu Jul 3 18:43:09 2014 +0200 Committer: Marcus Eriksson marc...@apache.org Committed: Thu Jul 3 18:43:09 2014 +0200 -- CHANGES.txt | 1 + src/java/org/apache/cassandra/config/CFMetaData.java | 1 - src/java/org/apache/cassandra/cql3/statements/CFPropDefs.java | 1 - 3 files changed, 1 insertion(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/9a6cdf14/CHANGES.txt --
[1/2] git commit: Remove left-over rows_per_partition_to_cache
Repository: cassandra Updated Branches: refs/heads/cassandra-2.1 a0bfdebca - 9a6cdf148 Remove left-over rows_per_partition_to_cache Patch by marcuse; reviewed by jbellis for CASSANDRA-7493 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/28164849 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/28164849 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/28164849 Branch: refs/heads/cassandra-2.1 Commit: 28164849cc2c48a60d099b137380a662eae06d1e Parents: 8c4ffbe Author: Marcus Eriksson marc...@apache.org Authored: Thu Jul 3 18:40:09 2014 +0200 Committer: Marcus Eriksson marc...@apache.org Committed: Thu Jul 3 18:42:51 2014 +0200 -- CHANGES.txt | 1 + src/java/org/apache/cassandra/config/CFMetaData.java | 1 - src/java/org/apache/cassandra/cql3/statements/CFPropDefs.java | 1 - 3 files changed, 1 insertion(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/28164849/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 75a1786..cd16f35 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -2,6 +2,7 @@ * (Windows) handle spaces in path names (CASSANDRA-7451) * Ensure writes have completed after dropping a table, before recycling commit log segments (CASSANDRA-7437) + * Remove left-over rows_per_partition_to_cache (CASSANDRA-7493) Merged from 2.0: * Fix CC#collectTimeOrderedData() tombstone optimisations (CASSANDRA-7394) * Support DISTINCT for static columns and fix behaviour when DISTINC is http://git-wip-us.apache.org/repos/asf/cassandra/blob/28164849/src/java/org/apache/cassandra/config/CFMetaData.java -- diff --git a/src/java/org/apache/cassandra/config/CFMetaData.java b/src/java/org/apache/cassandra/config/CFMetaData.java index de2466c..dd3d079 100644 --- a/src/java/org/apache/cassandra/config/CFMetaData.java +++ b/src/java/org/apache/cassandra/config/CFMetaData.java @@ -182,7 +182,6 @@ public final class CFMetaData + min_index_interval int, + max_index_interval int, + dropped_columns maptext, bigint, -+ rows_per_partition_to_cache text, + PRIMARY KEY (keyspace_name, columnfamily_name) + ) WITH COMMENT='ColumnFamily definitions' AND gc_grace_seconds=8640); http://git-wip-us.apache.org/repos/asf/cassandra/blob/28164849/src/java/org/apache/cassandra/cql3/statements/CFPropDefs.java -- diff --git a/src/java/org/apache/cassandra/cql3/statements/CFPropDefs.java b/src/java/org/apache/cassandra/cql3/statements/CFPropDefs.java index f920e30..486fc9a 100644 --- a/src/java/org/apache/cassandra/cql3/statements/CFPropDefs.java +++ b/src/java/org/apache/cassandra/cql3/statements/CFPropDefs.java @@ -39,7 +39,6 @@ public class CFPropDefs extends PropertyDefinitions public static final String KW_MINCOMPACTIONTHRESHOLD = min_threshold; public static final String KW_MAXCOMPACTIONTHRESHOLD = max_threshold; public static final String KW_CACHING = caching; -public static final String KW_ROWS_PER_PARTITION_TO_CACHE = rows_per_partition_to_cache; public static final String KW_DEFAULT_TIME_TO_LIVE = default_time_to_live; public static final String KW_MIN_INDEX_INTERVAL = min_index_interval; public static final String KW_MAX_INDEX_INTERVAL = max_index_interval;
[1/3] git commit: Remove left-over rows_per_partition_to_cache
Repository: cassandra Updated Branches: refs/heads/trunk 72c08f11a - 4ea742cd0 Remove left-over rows_per_partition_to_cache Patch by marcuse; reviewed by jbellis for CASSANDRA-7493 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/28164849 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/28164849 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/28164849 Branch: refs/heads/trunk Commit: 28164849cc2c48a60d099b137380a662eae06d1e Parents: 8c4ffbe Author: Marcus Eriksson marc...@apache.org Authored: Thu Jul 3 18:40:09 2014 +0200 Committer: Marcus Eriksson marc...@apache.org Committed: Thu Jul 3 18:42:51 2014 +0200 -- CHANGES.txt | 1 + src/java/org/apache/cassandra/config/CFMetaData.java | 1 - src/java/org/apache/cassandra/cql3/statements/CFPropDefs.java | 1 - 3 files changed, 1 insertion(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/28164849/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 75a1786..cd16f35 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -2,6 +2,7 @@ * (Windows) handle spaces in path names (CASSANDRA-7451) * Ensure writes have completed after dropping a table, before recycling commit log segments (CASSANDRA-7437) + * Remove left-over rows_per_partition_to_cache (CASSANDRA-7493) Merged from 2.0: * Fix CC#collectTimeOrderedData() tombstone optimisations (CASSANDRA-7394) * Support DISTINCT for static columns and fix behaviour when DISTINC is http://git-wip-us.apache.org/repos/asf/cassandra/blob/28164849/src/java/org/apache/cassandra/config/CFMetaData.java -- diff --git a/src/java/org/apache/cassandra/config/CFMetaData.java b/src/java/org/apache/cassandra/config/CFMetaData.java index de2466c..dd3d079 100644 --- a/src/java/org/apache/cassandra/config/CFMetaData.java +++ b/src/java/org/apache/cassandra/config/CFMetaData.java @@ -182,7 +182,6 @@ public final class CFMetaData + min_index_interval int, + max_index_interval int, + dropped_columns maptext, bigint, -+ rows_per_partition_to_cache text, + PRIMARY KEY (keyspace_name, columnfamily_name) + ) WITH COMMENT='ColumnFamily definitions' AND gc_grace_seconds=8640); http://git-wip-us.apache.org/repos/asf/cassandra/blob/28164849/src/java/org/apache/cassandra/cql3/statements/CFPropDefs.java -- diff --git a/src/java/org/apache/cassandra/cql3/statements/CFPropDefs.java b/src/java/org/apache/cassandra/cql3/statements/CFPropDefs.java index f920e30..486fc9a 100644 --- a/src/java/org/apache/cassandra/cql3/statements/CFPropDefs.java +++ b/src/java/org/apache/cassandra/cql3/statements/CFPropDefs.java @@ -39,7 +39,6 @@ public class CFPropDefs extends PropertyDefinitions public static final String KW_MINCOMPACTIONTHRESHOLD = min_threshold; public static final String KW_MAXCOMPACTIONTHRESHOLD = max_threshold; public static final String KW_CACHING = caching; -public static final String KW_ROWS_PER_PARTITION_TO_CACHE = rows_per_partition_to_cache; public static final String KW_DEFAULT_TIME_TO_LIVE = default_time_to_live; public static final String KW_MIN_INDEX_INTERVAL = min_index_interval; public static final String KW_MAX_INDEX_INTERVAL = max_index_interval;
[3/3] git commit: Merge branch 'cassandra-2.1' into trunk
Merge branch 'cassandra-2.1' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/4ea742cd Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/4ea742cd Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/4ea742cd Branch: refs/heads/trunk Commit: 4ea742cd0a1be2b41b69b5c9b49d2bf387809146 Parents: 72c08f1 9a6cdf1 Author: Marcus Eriksson marc...@apache.org Authored: Thu Jul 3 18:43:18 2014 +0200 Committer: Marcus Eriksson marc...@apache.org Committed: Thu Jul 3 18:43:18 2014 +0200 -- CHANGES.txt | 1 + src/java/org/apache/cassandra/config/CFMetaData.java | 1 - src/java/org/apache/cassandra/cql3/statements/CFPropDefs.java | 1 - 3 files changed, 1 insertion(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/4ea742cd/CHANGES.txt -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/4ea742cd/src/java/org/apache/cassandra/config/CFMetaData.java --
[2/3] git commit: Merge branch 'cassandra-2.1.0' into cassandra-2.1
Merge branch 'cassandra-2.1.0' into cassandra-2.1 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/9a6cdf14 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/9a6cdf14 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/9a6cdf14 Branch: refs/heads/trunk Commit: 9a6cdf14818d339faec18119c75d87f82544d232 Parents: a0bfdeb 2816484 Author: Marcus Eriksson marc...@apache.org Authored: Thu Jul 3 18:43:09 2014 +0200 Committer: Marcus Eriksson marc...@apache.org Committed: Thu Jul 3 18:43:09 2014 +0200 -- CHANGES.txt | 1 + src/java/org/apache/cassandra/config/CFMetaData.java | 1 - src/java/org/apache/cassandra/cql3/statements/CFPropDefs.java | 1 - 3 files changed, 1 insertion(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/9a6cdf14/CHANGES.txt --
git commit: Don't swap max/min column names when mutating sstable metadata.
Repository: cassandra Updated Branches: refs/heads/cassandra-2.1.0 6f15fe260 - ee62ae104 Don't swap max/min column names when mutating sstable metadata. Patch by marcuse; reviewed by benedict for CASSANDRA-7596. Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/ee62ae10 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/ee62ae10 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/ee62ae10 Branch: refs/heads/cassandra-2.1.0 Commit: ee62ae104ee2c69d852b488f904b1854aa58aa2a Parents: 6f15fe2 Author: Marcus Eriksson marc...@apache.org Authored: Mon Jul 28 12:48:24 2014 +0200 Committer: Marcus Eriksson marc...@apache.org Committed: Mon Jul 28 12:48:24 2014 +0200 -- CHANGES.txt | 1 + .../org/apache/cassandra/io/sstable/metadata/StatsMetadata.java | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/ee62ae10/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 0a1ba51..c6aaef9 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -14,6 +14,7 @@ * Fix tracing of range slices and secondary index lookups that are local to the coordinator (CASSANDRA-7599) * Set -Dcassandra.storagedir for all tool shell scripts (CASSANDRA-7587) + * Don't swap max/min col names when mutating sstable metadata (CASSANDRA-7596) Merged from 2.0: * Fix ReversedType(DateType) mapping to native protocol (CASSANDRA-7576) * Always merge ranges owned by a single node (CASSANDRA-6930) http://git-wip-us.apache.org/repos/asf/cassandra/blob/ee62ae10/src/java/org/apache/cassandra/io/sstable/metadata/StatsMetadata.java -- diff --git a/src/java/org/apache/cassandra/io/sstable/metadata/StatsMetadata.java b/src/java/org/apache/cassandra/io/sstable/metadata/StatsMetadata.java index 900bd4e..a557b88 100644 --- a/src/java/org/apache/cassandra/io/sstable/metadata/StatsMetadata.java +++ b/src/java/org/apache/cassandra/io/sstable/metadata/StatsMetadata.java @@ -124,8 +124,8 @@ public class StatsMetadata extends MetadataComponent compressionRatio, estimatedTombstoneDropTime, newLevel, - maxColumnNames, minColumnNames, + maxColumnNames, hasLegacyCounterShards, repairedAt); } @@ -141,8 +141,8 @@ public class StatsMetadata extends MetadataComponent compressionRatio, estimatedTombstoneDropTime, sstableLevel, - maxColumnNames, minColumnNames, + maxColumnNames, hasLegacyCounterShards, newRepairedAt); }
[1/2] git commit: Don't swap max/min column names when mutating sstable metadata.
Repository: cassandra Updated Branches: refs/heads/cassandra-2.1 3744d7792 - 2236afb7a Don't swap max/min column names when mutating sstable metadata. Patch by marcuse; reviewed by benedict for CASSANDRA-7596. Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/ee62ae10 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/ee62ae10 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/ee62ae10 Branch: refs/heads/cassandra-2.1 Commit: ee62ae104ee2c69d852b488f904b1854aa58aa2a Parents: 6f15fe2 Author: Marcus Eriksson marc...@apache.org Authored: Mon Jul 28 12:48:24 2014 +0200 Committer: Marcus Eriksson marc...@apache.org Committed: Mon Jul 28 12:48:24 2014 +0200 -- CHANGES.txt | 1 + .../org/apache/cassandra/io/sstable/metadata/StatsMetadata.java | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/ee62ae10/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 0a1ba51..c6aaef9 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -14,6 +14,7 @@ * Fix tracing of range slices and secondary index lookups that are local to the coordinator (CASSANDRA-7599) * Set -Dcassandra.storagedir for all tool shell scripts (CASSANDRA-7587) + * Don't swap max/min col names when mutating sstable metadata (CASSANDRA-7596) Merged from 2.0: * Fix ReversedType(DateType) mapping to native protocol (CASSANDRA-7576) * Always merge ranges owned by a single node (CASSANDRA-6930) http://git-wip-us.apache.org/repos/asf/cassandra/blob/ee62ae10/src/java/org/apache/cassandra/io/sstable/metadata/StatsMetadata.java -- diff --git a/src/java/org/apache/cassandra/io/sstable/metadata/StatsMetadata.java b/src/java/org/apache/cassandra/io/sstable/metadata/StatsMetadata.java index 900bd4e..a557b88 100644 --- a/src/java/org/apache/cassandra/io/sstable/metadata/StatsMetadata.java +++ b/src/java/org/apache/cassandra/io/sstable/metadata/StatsMetadata.java @@ -124,8 +124,8 @@ public class StatsMetadata extends MetadataComponent compressionRatio, estimatedTombstoneDropTime, newLevel, - maxColumnNames, minColumnNames, + maxColumnNames, hasLegacyCounterShards, repairedAt); } @@ -141,8 +141,8 @@ public class StatsMetadata extends MetadataComponent compressionRatio, estimatedTombstoneDropTime, sstableLevel, - maxColumnNames, minColumnNames, + maxColumnNames, hasLegacyCounterShards, newRepairedAt); }
[2/2] git commit: Merge branch 'cassandra-2.1.0' into cassandra-2.1
Merge branch 'cassandra-2.1.0' into cassandra-2.1 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/2236afb7 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/2236afb7 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/2236afb7 Branch: refs/heads/cassandra-2.1 Commit: 2236afb7a06725f9ceb13bab8c2180eb0d6134f5 Parents: 3744d77 ee62ae1 Author: Marcus Eriksson marc...@apache.org Authored: Mon Jul 28 12:49:06 2014 +0200 Committer: Marcus Eriksson marc...@apache.org Committed: Mon Jul 28 12:49:06 2014 +0200 -- CHANGES.txt | 1 + .../org/apache/cassandra/io/sstable/metadata/StatsMetadata.java | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/2236afb7/CHANGES.txt --
[2/3] git commit: Merge branch 'cassandra-2.1.0' into cassandra-2.1
Merge branch 'cassandra-2.1.0' into cassandra-2.1 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/2236afb7 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/2236afb7 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/2236afb7 Branch: refs/heads/trunk Commit: 2236afb7a06725f9ceb13bab8c2180eb0d6134f5 Parents: 3744d77 ee62ae1 Author: Marcus Eriksson marc...@apache.org Authored: Mon Jul 28 12:49:06 2014 +0200 Committer: Marcus Eriksson marc...@apache.org Committed: Mon Jul 28 12:49:06 2014 +0200 -- CHANGES.txt | 1 + .../org/apache/cassandra/io/sstable/metadata/StatsMetadata.java | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/2236afb7/CHANGES.txt --
[3/3] git commit: Merge branch 'cassandra-2.1' into trunk
Merge branch 'cassandra-2.1' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/0fd1a0bb Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/0fd1a0bb Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/0fd1a0bb Branch: refs/heads/trunk Commit: 0fd1a0bb47f66eaa29ce821aa4836c52b65e46e1 Parents: f3aa83b 2236afb Author: Marcus Eriksson marc...@apache.org Authored: Mon Jul 28 12:49:28 2014 +0200 Committer: Marcus Eriksson marc...@apache.org Committed: Mon Jul 28 12:49:28 2014 +0200 -- CHANGES.txt | 1 + .../org/apache/cassandra/io/sstable/metadata/StatsMetadata.java | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/0fd1a0bb/CHANGES.txt --
git commit: Track min/max timestamps for range tombstones.
Repository: cassandra Updated Branches: refs/heads/cassandra-2.0 b40cb0507 - 892bf5551 Track min/max timestamps for range tombstones. Patch by marcuse; reviewed by iamaleksey for CASSANDRA-7647 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/892bf555 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/892bf555 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/892bf555 Branch: refs/heads/cassandra-2.0 Commit: 892bf5551c06e669b02d161439463ebf2de0793c Parents: b40cb05 Author: Marcus Eriksson marc...@apache.org Authored: Wed Jul 30 13:38:51 2014 +0200 Committer: Marcus Eriksson marc...@apache.org Committed: Thu Jul 31 07:36:39 2014 +0200 -- CHANGES.txt | 1 + src/java/org/apache/cassandra/db/ColumnFamily.java| 3 ++- .../org/apache/cassandra/db/compaction/LazilyCompactedRow.java| 3 ++- src/java/org/apache/cassandra/io/sstable/SSTableWriter.java | 2 ++ 4 files changed, 7 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/892bf555/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 4f08764..a6fc837 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -21,6 +21,7 @@ * Add option to disable STCS in L0 (CASSANDRA-6621) * Fix error when doing reversed queries with static columns (CASSANDRA-7490) * Backport CASSANDRA-6747 (CASSANDRA-7560) + * Track max/min timestamps for range tombstones (CASSANDRA-7647) Merged from 1.2: * Set correct stream ID on responses when non-Exception Throwables are thrown while handling native protocol messages (CASSANDRA-7470) http://git-wip-us.apache.org/repos/asf/cassandra/blob/892bf555/src/java/org/apache/cassandra/db/ColumnFamily.java -- diff --git a/src/java/org/apache/cassandra/db/ColumnFamily.java b/src/java/org/apache/cassandra/db/ColumnFamily.java index 638eacc..95e5645 100644 --- a/src/java/org/apache/cassandra/db/ColumnFamily.java +++ b/src/java/org/apache/cassandra/db/ColumnFamily.java @@ -426,7 +426,8 @@ public abstract class ColumnFamily implements IterableColumn, IRowCacheEntry { RangeTombstone rangeTombstone = it.next(); tombstones.update(rangeTombstone.getLocalDeletionTime()); - +minTimestampSeen = Math.min(minTimestampSeen, rangeTombstone.minTimestamp()); +maxTimestampSeen = Math.max(maxTimestampSeen, rangeTombstone.maxTimestamp()); minColumnNamesSeen = ColumnNameHelper.minComponents(minColumnNamesSeen, rangeTombstone.min, metadata.comparator); maxColumnNamesSeen = ColumnNameHelper.maxComponents(maxColumnNamesSeen, rangeTombstone.max, metadata.comparator); } http://git-wip-us.apache.org/repos/asf/cassandra/blob/892bf555/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java -- diff --git a/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java b/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java index 7cd0842..1da1757 100644 --- a/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java +++ b/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java @@ -253,7 +253,8 @@ public class LazilyCompactedRow extends AbstractCompactedRow implements Iterable else { tombstones.update(t.getLocalDeletionTime()); - +minTimestampSeen = Math.min(minTimestampSeen, t.minTimestamp()); +maxTimestampSeen = Math.max(maxTimestampSeen, t.maxTimestamp()); minColumnNameSeen = ColumnNameHelper.minComponents(minColumnNameSeen, t.min, controller.cfs.metadata.comparator); maxColumnNameSeen = ColumnNameHelper.maxComponents(maxColumnNameSeen, t.max, controller.cfs.metadata.comparator); http://git-wip-us.apache.org/repos/asf/cassandra/blob/892bf555/src/java/org/apache/cassandra/io/sstable/SSTableWriter.java -- diff --git a/src/java/org/apache/cassandra/io/sstable/SSTableWriter.java b/src/java/org/apache/cassandra/io/sstable/SSTableWriter.java index 3a2dca0..8a9bb18 100644 --- a/src/java/org/apache/cassandra/io/sstable/SSTableWriter.java +++ b/src/java/org/apache/cassandra/io/sstable/SSTableWriter.java @@ -243,6 +243,8 @@ public class SSTableWriter extends SSTable { RangeTombstone rangeTombstone = rangeTombstoneIterator.next(); tombstones.update(rangeTombstone.getLocalDeletionTime()); +minTimestamp = Math.min
[2/3] git commit: Merge branch 'cassandra-2.0' into cassandra-2.1.0
Merge branch 'cassandra-2.0' into cassandra-2.1.0 Conflicts: CHANGES.txt Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/c4d23e16 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/c4d23e16 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/c4d23e16 Branch: refs/heads/cassandra-2.1 Commit: c4d23e168dd1b928669bc5255b79671751840a7c Parents: ff99244 892bf55 Author: Marcus Eriksson marc...@apache.org Authored: Thu Jul 31 07:38:16 2014 +0200 Committer: Marcus Eriksson marc...@apache.org Committed: Thu Jul 31 07:38:16 2014 +0200 -- CHANGES.txt | 1 + src/java/org/apache/cassandra/db/ColumnFamily.java| 3 ++- .../org/apache/cassandra/db/compaction/LazilyCompactedRow.java| 3 ++- src/java/org/apache/cassandra/io/sstable/SSTableWriter.java | 2 ++ 4 files changed, 7 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/c4d23e16/CHANGES.txt -- diff --cc CHANGES.txt index d74db1a,a6fc837..3b2f35c --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,43 -1,10 +1,44 @@@ -2.0.10 +2.1.0-final * Remove shuffle and taketoken (CASSANDRA-7601) - * Switch liveRatio-related log messages to DEBUG (CASSANDRA-7467) - * (cqlsh) Add tab-completion for CREATE/DROP USER IF [NOT] EXISTS (CASSANDRA-7611) - * Always merge ranges owned by a single node (CASSANDRA-6930) - * Pig support for hadoop CqlInputFormat (CASSANDRA-6454) + * Clean up Windows batch scripts (CASSANDRA-7619) + * Fix native protocol drop user type notification (CASSANDRA-7571) + * Give read access to system.schema_usertypes to all authenticated users + (CASSANDRA-7578) + * (cqlsh) Fix cqlsh display when zero rows are returned (CASSANDRA-7580) + * Get java version correctly when JAVA_TOOL_OPTIONS is set (CASSANDRA-7572) + * Fix NPE when dropping index from non-existent keyspace, AssertionError when + dropping non-existent index with IF EXISTS (CASSANDRA-7590) + * Fix sstablelevelresetter hang (CASSANDRA-7614) + * (cqlsh) Fix deserialization of blobs (CASSANDRA-7603) + * Use keyspace updated schema change message for UDT changes in v1 and + v2 protocols (CASSANDRA-7617) + * Fix tracing of range slices and secondary index lookups that are local + to the coordinator (CASSANDRA-7599) + * Set -Dcassandra.storagedir for all tool shell scripts (CASSANDRA-7587) + * Don't swap max/min col names when mutating sstable metadata (CASSANDRA-7596) + * (cqlsh) Correctly handle paged result sets (CASSANDRA-7625) + * (cqlsh) Improve waiting for a trace to complete (CASSANDRA-7626) + * Fix tracing of concurrent range slices and 2ary index queries (CASSANDRA-7626) +Merged from 2.0: * Fix ReversedType(DateType) mapping to native protocol (CASSANDRA-7576) + * Always merge ranges owned by a single node (CASSANDRA-6930) ++ * Track max/min timestamps for range tombstones (CASSANDRA-7647) + + +2.1.0-rc4 + * Fix word count hadoop example (CASSANDRA-7200) + * Updated memtable_cleanup_threshold and memtable_flush_writers defaults + (CASSANDRA-7551) + * (Windows) fix startup when WMI memory query fails (CASSANDRA-7505) + * Anti-compaction proceeds if any part of the repair failed (CASANDRA-7521) + * Add missing table name to DROP INDEX responses and notifications (CASSANDRA-7539) + * Bump CQL version to 3.2.0 and update CQL documentation (CASSANDRA-7527) + * Fix configuration error message when running nodetool ring (CASSANDRA-7508) + * Support conditional updates, tuple type, and the v3 protocol in cqlsh (CASSANDRA-7509) + * Handle queries on multiple secondary index types (CASSANDRA-7525) + * Fix cqlsh authentication with v3 native protocol (CASSANDRA-7564) + * Fix NPE when unknown prepared statement ID is used (CASSANDRA-7454) +Merged from 2.0: * (Windows) force range-based repair to non-sequential mode (CASSANDRA-7541) * Fix range merging when DES scores are zero (CASSANDRA-7535) * Warn when SSL certificates have expired (CASSANDRA-7528) http://git-wip-us.apache.org/repos/asf/cassandra/blob/c4d23e16/src/java/org/apache/cassandra/db/ColumnFamily.java -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/c4d23e16/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java -- diff --cc src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java index 73a1927,1da1757..e922492 --- a/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java +++ b/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java @@@ -245,9 -253,11 +245,10 @@@ public
[1/2] git commit: Track min/max timestamps for range tombstones.
Repository: cassandra Updated Branches: refs/heads/cassandra-2.1.0 ff992442a - c4d23e168 Track min/max timestamps for range tombstones. Patch by marcuse; reviewed by iamaleksey for CASSANDRA-7647 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/892bf555 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/892bf555 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/892bf555 Branch: refs/heads/cassandra-2.1.0 Commit: 892bf5551c06e669b02d161439463ebf2de0793c Parents: b40cb05 Author: Marcus Eriksson marc...@apache.org Authored: Wed Jul 30 13:38:51 2014 +0200 Committer: Marcus Eriksson marc...@apache.org Committed: Thu Jul 31 07:36:39 2014 +0200 -- CHANGES.txt | 1 + src/java/org/apache/cassandra/db/ColumnFamily.java| 3 ++- .../org/apache/cassandra/db/compaction/LazilyCompactedRow.java| 3 ++- src/java/org/apache/cassandra/io/sstable/SSTableWriter.java | 2 ++ 4 files changed, 7 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/892bf555/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 4f08764..a6fc837 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -21,6 +21,7 @@ * Add option to disable STCS in L0 (CASSANDRA-6621) * Fix error when doing reversed queries with static columns (CASSANDRA-7490) * Backport CASSANDRA-6747 (CASSANDRA-7560) + * Track max/min timestamps for range tombstones (CASSANDRA-7647) Merged from 1.2: * Set correct stream ID on responses when non-Exception Throwables are thrown while handling native protocol messages (CASSANDRA-7470) http://git-wip-us.apache.org/repos/asf/cassandra/blob/892bf555/src/java/org/apache/cassandra/db/ColumnFamily.java -- diff --git a/src/java/org/apache/cassandra/db/ColumnFamily.java b/src/java/org/apache/cassandra/db/ColumnFamily.java index 638eacc..95e5645 100644 --- a/src/java/org/apache/cassandra/db/ColumnFamily.java +++ b/src/java/org/apache/cassandra/db/ColumnFamily.java @@ -426,7 +426,8 @@ public abstract class ColumnFamily implements IterableColumn, IRowCacheEntry { RangeTombstone rangeTombstone = it.next(); tombstones.update(rangeTombstone.getLocalDeletionTime()); - +minTimestampSeen = Math.min(minTimestampSeen, rangeTombstone.minTimestamp()); +maxTimestampSeen = Math.max(maxTimestampSeen, rangeTombstone.maxTimestamp()); minColumnNamesSeen = ColumnNameHelper.minComponents(minColumnNamesSeen, rangeTombstone.min, metadata.comparator); maxColumnNamesSeen = ColumnNameHelper.maxComponents(maxColumnNamesSeen, rangeTombstone.max, metadata.comparator); } http://git-wip-us.apache.org/repos/asf/cassandra/blob/892bf555/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java -- diff --git a/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java b/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java index 7cd0842..1da1757 100644 --- a/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java +++ b/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java @@ -253,7 +253,8 @@ public class LazilyCompactedRow extends AbstractCompactedRow implements Iterable else { tombstones.update(t.getLocalDeletionTime()); - +minTimestampSeen = Math.min(minTimestampSeen, t.minTimestamp()); +maxTimestampSeen = Math.max(maxTimestampSeen, t.maxTimestamp()); minColumnNameSeen = ColumnNameHelper.minComponents(minColumnNameSeen, t.min, controller.cfs.metadata.comparator); maxColumnNameSeen = ColumnNameHelper.maxComponents(maxColumnNameSeen, t.max, controller.cfs.metadata.comparator); http://git-wip-us.apache.org/repos/asf/cassandra/blob/892bf555/src/java/org/apache/cassandra/io/sstable/SSTableWriter.java -- diff --git a/src/java/org/apache/cassandra/io/sstable/SSTableWriter.java b/src/java/org/apache/cassandra/io/sstable/SSTableWriter.java index 3a2dca0..8a9bb18 100644 --- a/src/java/org/apache/cassandra/io/sstable/SSTableWriter.java +++ b/src/java/org/apache/cassandra/io/sstable/SSTableWriter.java @@ -243,6 +243,8 @@ public class SSTableWriter extends SSTable { RangeTombstone rangeTombstone = rangeTombstoneIterator.next(); tombstones.update(rangeTombstone.getLocalDeletionTime()); +minTimestamp
[1/3] git commit: Track min/max timestamps for range tombstones.
Repository: cassandra Updated Branches: refs/heads/cassandra-2.1 cc18e05ce - 3da7d9e25 Track min/max timestamps for range tombstones. Patch by marcuse; reviewed by iamaleksey for CASSANDRA-7647 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/892bf555 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/892bf555 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/892bf555 Branch: refs/heads/cassandra-2.1 Commit: 892bf5551c06e669b02d161439463ebf2de0793c Parents: b40cb05 Author: Marcus Eriksson marc...@apache.org Authored: Wed Jul 30 13:38:51 2014 +0200 Committer: Marcus Eriksson marc...@apache.org Committed: Thu Jul 31 07:36:39 2014 +0200 -- CHANGES.txt | 1 + src/java/org/apache/cassandra/db/ColumnFamily.java| 3 ++- .../org/apache/cassandra/db/compaction/LazilyCompactedRow.java| 3 ++- src/java/org/apache/cassandra/io/sstable/SSTableWriter.java | 2 ++ 4 files changed, 7 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/892bf555/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 4f08764..a6fc837 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -21,6 +21,7 @@ * Add option to disable STCS in L0 (CASSANDRA-6621) * Fix error when doing reversed queries with static columns (CASSANDRA-7490) * Backport CASSANDRA-6747 (CASSANDRA-7560) + * Track max/min timestamps for range tombstones (CASSANDRA-7647) Merged from 1.2: * Set correct stream ID on responses when non-Exception Throwables are thrown while handling native protocol messages (CASSANDRA-7470) http://git-wip-us.apache.org/repos/asf/cassandra/blob/892bf555/src/java/org/apache/cassandra/db/ColumnFamily.java -- diff --git a/src/java/org/apache/cassandra/db/ColumnFamily.java b/src/java/org/apache/cassandra/db/ColumnFamily.java index 638eacc..95e5645 100644 --- a/src/java/org/apache/cassandra/db/ColumnFamily.java +++ b/src/java/org/apache/cassandra/db/ColumnFamily.java @@ -426,7 +426,8 @@ public abstract class ColumnFamily implements IterableColumn, IRowCacheEntry { RangeTombstone rangeTombstone = it.next(); tombstones.update(rangeTombstone.getLocalDeletionTime()); - +minTimestampSeen = Math.min(minTimestampSeen, rangeTombstone.minTimestamp()); +maxTimestampSeen = Math.max(maxTimestampSeen, rangeTombstone.maxTimestamp()); minColumnNamesSeen = ColumnNameHelper.minComponents(minColumnNamesSeen, rangeTombstone.min, metadata.comparator); maxColumnNamesSeen = ColumnNameHelper.maxComponents(maxColumnNamesSeen, rangeTombstone.max, metadata.comparator); } http://git-wip-us.apache.org/repos/asf/cassandra/blob/892bf555/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java -- diff --git a/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java b/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java index 7cd0842..1da1757 100644 --- a/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java +++ b/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java @@ -253,7 +253,8 @@ public class LazilyCompactedRow extends AbstractCompactedRow implements Iterable else { tombstones.update(t.getLocalDeletionTime()); - +minTimestampSeen = Math.min(minTimestampSeen, t.minTimestamp()); +maxTimestampSeen = Math.max(maxTimestampSeen, t.maxTimestamp()); minColumnNameSeen = ColumnNameHelper.minComponents(minColumnNameSeen, t.min, controller.cfs.metadata.comparator); maxColumnNameSeen = ColumnNameHelper.maxComponents(maxColumnNameSeen, t.max, controller.cfs.metadata.comparator); http://git-wip-us.apache.org/repos/asf/cassandra/blob/892bf555/src/java/org/apache/cassandra/io/sstable/SSTableWriter.java -- diff --git a/src/java/org/apache/cassandra/io/sstable/SSTableWriter.java b/src/java/org/apache/cassandra/io/sstable/SSTableWriter.java index 3a2dca0..8a9bb18 100644 --- a/src/java/org/apache/cassandra/io/sstable/SSTableWriter.java +++ b/src/java/org/apache/cassandra/io/sstable/SSTableWriter.java @@ -243,6 +243,8 @@ public class SSTableWriter extends SSTable { RangeTombstone rangeTombstone = rangeTombstoneIterator.next(); tombstones.update(rangeTombstone.getLocalDeletionTime()); +minTimestamp = Math.min
[3/3] git commit: Merge branch 'cassandra-2.1.0' into cassandra-2.1
Merge branch 'cassandra-2.1.0' into cassandra-2.1 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/3da7d9e2 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/3da7d9e2 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/3da7d9e2 Branch: refs/heads/cassandra-2.1 Commit: 3da7d9e25a7320bdd67108213b26b368b7ad7569 Parents: cc18e05 c4d23e1 Author: Marcus Eriksson marc...@apache.org Authored: Thu Jul 31 07:38:29 2014 +0200 Committer: Marcus Eriksson marc...@apache.org Committed: Thu Jul 31 07:38:29 2014 +0200 -- CHANGES.txt | 1 + src/java/org/apache/cassandra/db/ColumnFamily.java| 3 ++- .../org/apache/cassandra/db/compaction/LazilyCompactedRow.java| 3 ++- src/java/org/apache/cassandra/io/sstable/SSTableWriter.java | 2 ++ 4 files changed, 7 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/3da7d9e2/CHANGES.txt --
[2/2] git commit: Merge branch 'cassandra-2.0' into cassandra-2.1.0
Merge branch 'cassandra-2.0' into cassandra-2.1.0 Conflicts: CHANGES.txt Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/c4d23e16 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/c4d23e16 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/c4d23e16 Branch: refs/heads/cassandra-2.1.0 Commit: c4d23e168dd1b928669bc5255b79671751840a7c Parents: ff99244 892bf55 Author: Marcus Eriksson marc...@apache.org Authored: Thu Jul 31 07:38:16 2014 +0200 Committer: Marcus Eriksson marc...@apache.org Committed: Thu Jul 31 07:38:16 2014 +0200 -- CHANGES.txt | 1 + src/java/org/apache/cassandra/db/ColumnFamily.java| 3 ++- .../org/apache/cassandra/db/compaction/LazilyCompactedRow.java| 3 ++- src/java/org/apache/cassandra/io/sstable/SSTableWriter.java | 2 ++ 4 files changed, 7 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/c4d23e16/CHANGES.txt -- diff --cc CHANGES.txt index d74db1a,a6fc837..3b2f35c --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,43 -1,10 +1,44 @@@ -2.0.10 +2.1.0-final * Remove shuffle and taketoken (CASSANDRA-7601) - * Switch liveRatio-related log messages to DEBUG (CASSANDRA-7467) - * (cqlsh) Add tab-completion for CREATE/DROP USER IF [NOT] EXISTS (CASSANDRA-7611) - * Always merge ranges owned by a single node (CASSANDRA-6930) - * Pig support for hadoop CqlInputFormat (CASSANDRA-6454) + * Clean up Windows batch scripts (CASSANDRA-7619) + * Fix native protocol drop user type notification (CASSANDRA-7571) + * Give read access to system.schema_usertypes to all authenticated users + (CASSANDRA-7578) + * (cqlsh) Fix cqlsh display when zero rows are returned (CASSANDRA-7580) + * Get java version correctly when JAVA_TOOL_OPTIONS is set (CASSANDRA-7572) + * Fix NPE when dropping index from non-existent keyspace, AssertionError when + dropping non-existent index with IF EXISTS (CASSANDRA-7590) + * Fix sstablelevelresetter hang (CASSANDRA-7614) + * (cqlsh) Fix deserialization of blobs (CASSANDRA-7603) + * Use keyspace updated schema change message for UDT changes in v1 and + v2 protocols (CASSANDRA-7617) + * Fix tracing of range slices and secondary index lookups that are local + to the coordinator (CASSANDRA-7599) + * Set -Dcassandra.storagedir for all tool shell scripts (CASSANDRA-7587) + * Don't swap max/min col names when mutating sstable metadata (CASSANDRA-7596) + * (cqlsh) Correctly handle paged result sets (CASSANDRA-7625) + * (cqlsh) Improve waiting for a trace to complete (CASSANDRA-7626) + * Fix tracing of concurrent range slices and 2ary index queries (CASSANDRA-7626) +Merged from 2.0: * Fix ReversedType(DateType) mapping to native protocol (CASSANDRA-7576) + * Always merge ranges owned by a single node (CASSANDRA-6930) ++ * Track max/min timestamps for range tombstones (CASSANDRA-7647) + + +2.1.0-rc4 + * Fix word count hadoop example (CASSANDRA-7200) + * Updated memtable_cleanup_threshold and memtable_flush_writers defaults + (CASSANDRA-7551) + * (Windows) fix startup when WMI memory query fails (CASSANDRA-7505) + * Anti-compaction proceeds if any part of the repair failed (CASANDRA-7521) + * Add missing table name to DROP INDEX responses and notifications (CASSANDRA-7539) + * Bump CQL version to 3.2.0 and update CQL documentation (CASSANDRA-7527) + * Fix configuration error message when running nodetool ring (CASSANDRA-7508) + * Support conditional updates, tuple type, and the v3 protocol in cqlsh (CASSANDRA-7509) + * Handle queries on multiple secondary index types (CASSANDRA-7525) + * Fix cqlsh authentication with v3 native protocol (CASSANDRA-7564) + * Fix NPE when unknown prepared statement ID is used (CASSANDRA-7454) +Merged from 2.0: * (Windows) force range-based repair to non-sequential mode (CASSANDRA-7541) * Fix range merging when DES scores are zero (CASSANDRA-7535) * Warn when SSL certificates have expired (CASSANDRA-7528) http://git-wip-us.apache.org/repos/asf/cassandra/blob/c4d23e16/src/java/org/apache/cassandra/db/ColumnFamily.java -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/c4d23e16/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java -- diff --cc src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java index 73a1927,1da1757..e922492 --- a/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java +++ b/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java @@@ -245,9 -253,11 +245,10 @@@ public
[5/7] git commit: fix merge
fix merge Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/cde56662 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/cde56662 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/cde56662 Branch: refs/heads/trunk Commit: cde5666290a89fcfff0c6a4bf2a421caa615de36 Parents: c4d23e1 Author: Marcus Eriksson marc...@apache.org Authored: Thu Jul 31 07:46:10 2014 +0200 Committer: Marcus Eriksson marc...@apache.org Committed: Thu Jul 31 07:46:10 2014 +0200 -- src/java/org/apache/cassandra/db/ColumnFamily.java | 4 ++-- .../org/apache/cassandra/db/compaction/LazilyCompactedRow.java | 4 ++-- src/java/org/apache/cassandra/io/sstable/SSTableWriter.java | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/cde56662/src/java/org/apache/cassandra/db/ColumnFamily.java -- diff --git a/src/java/org/apache/cassandra/db/ColumnFamily.java b/src/java/org/apache/cassandra/db/ColumnFamily.java index cf47508..cd96785 100644 --- a/src/java/org/apache/cassandra/db/ColumnFamily.java +++ b/src/java/org/apache/cassandra/db/ColumnFamily.java @@ -411,8 +411,8 @@ public abstract class ColumnFamily implements IterableCell, IRowCacheEntry { RangeTombstone rangeTombstone = it.next(); tombstones.update(rangeTombstone.getLocalDeletionTime()); -minTimestampSeen = Math.min(minTimestampSeen, rangeTombstone.minTimestamp()); -maxTimestampSeen = Math.max(maxTimestampSeen, rangeTombstone.maxTimestamp()); +minTimestampSeen = Math.min(minTimestampSeen, rangeTombstone.timestamp()); +maxTimestampSeen = Math.max(maxTimestampSeen, rangeTombstone.timestamp()); minColumnNamesSeen = ColumnNameHelper.minComponents(minColumnNamesSeen, rangeTombstone.min, metadata.comparator); maxColumnNamesSeen = ColumnNameHelper.maxComponents(maxColumnNamesSeen, rangeTombstone.max, metadata.comparator); } http://git-wip-us.apache.org/repos/asf/cassandra/blob/cde56662/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java -- diff --git a/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java b/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java index e922492..7d6f872 100644 --- a/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java +++ b/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java @@ -245,8 +245,8 @@ public class LazilyCompactedRow extends AbstractCompactedRow else { tombstones.update(t.getLocalDeletionTime()); -minTimestampSeen = Math.min(minTimestampSeen, t.minTimestamp()); -maxTimestampSeen = Math.max(maxTimestampSeen, t.maxTimestamp()); +minTimestampSeen = Math.min(minTimestampSeen, t.timestamp()); +maxTimestampSeen = Math.max(maxTimestampSeen, t.timestamp()); minColumnNameSeen = ColumnNameHelper.minComponents(minColumnNameSeen, t.min, controller.cfs.metadata.comparator); maxColumnNameSeen = ColumnNameHelper.maxComponents(maxColumnNameSeen, t.max, controller.cfs.metadata.comparator); return t; http://git-wip-us.apache.org/repos/asf/cassandra/blob/cde56662/src/java/org/apache/cassandra/io/sstable/SSTableWriter.java -- diff --git a/src/java/org/apache/cassandra/io/sstable/SSTableWriter.java b/src/java/org/apache/cassandra/io/sstable/SSTableWriter.java index 20df91b..bfb2445 100644 --- a/src/java/org/apache/cassandra/io/sstable/SSTableWriter.java +++ b/src/java/org/apache/cassandra/io/sstable/SSTableWriter.java @@ -266,8 +266,8 @@ public class SSTableWriter extends SSTable { RangeTombstone rangeTombstone = rangeTombstoneIterator.next(); tombstones.update(rangeTombstone.getLocalDeletionTime()); -minTimestamp = Math.min(minTimestamp, rangeTombstone.minTimestamp()); -maxTimestamp = Math.max(maxTimestamp, rangeTombstone.maxTimestamp()); +minTimestamp = Math.min(minTimestamp, rangeTombstone.timestamp()); +maxTimestamp = Math.max(maxTimestamp, rangeTombstone.timestamp()); minColumnNames = ColumnNameHelper.minComponents(minColumnNames, rangeTombstone.min, metadata.comparator); maxColumnNames = ColumnNameHelper.maxComponents(maxColumnNames, rangeTombstone.max, metadata.comparator);
[2/2] git commit: Merge branch 'cassandra-2.1.0' into cassandra-2.1
Merge branch 'cassandra-2.1.0' into cassandra-2.1 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/40d7bdf8 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/40d7bdf8 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/40d7bdf8 Branch: refs/heads/cassandra-2.1 Commit: 40d7bdf80cad7bd69441289dbccbf182513b3e18 Parents: 3da7d9e cde5666 Author: Marcus Eriksson marc...@apache.org Authored: Thu Jul 31 07:46:16 2014 +0200 Committer: Marcus Eriksson marc...@apache.org Committed: Thu Jul 31 07:46:16 2014 +0200 -- src/java/org/apache/cassandra/db/ColumnFamily.java | 4 ++-- .../org/apache/cassandra/db/compaction/LazilyCompactedRow.java | 4 ++-- src/java/org/apache/cassandra/io/sstable/SSTableWriter.java | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) --
[3/7] git commit: Merge branch 'cassandra-2.1.0' into cassandra-2.1
Merge branch 'cassandra-2.1.0' into cassandra-2.1 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/3da7d9e2 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/3da7d9e2 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/3da7d9e2 Branch: refs/heads/trunk Commit: 3da7d9e25a7320bdd67108213b26b368b7ad7569 Parents: cc18e05 c4d23e1 Author: Marcus Eriksson marc...@apache.org Authored: Thu Jul 31 07:38:29 2014 +0200 Committer: Marcus Eriksson marc...@apache.org Committed: Thu Jul 31 07:38:29 2014 +0200 -- CHANGES.txt | 1 + src/java/org/apache/cassandra/db/ColumnFamily.java| 3 ++- .../org/apache/cassandra/db/compaction/LazilyCompactedRow.java| 3 ++- src/java/org/apache/cassandra/io/sstable/SSTableWriter.java | 2 ++ 4 files changed, 7 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/3da7d9e2/CHANGES.txt --
[6/7] git commit: Merge branch 'cassandra-2.1.0' into cassandra-2.1
Merge branch 'cassandra-2.1.0' into cassandra-2.1 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/40d7bdf8 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/40d7bdf8 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/40d7bdf8 Branch: refs/heads/trunk Commit: 40d7bdf80cad7bd69441289dbccbf182513b3e18 Parents: 3da7d9e cde5666 Author: Marcus Eriksson marc...@apache.org Authored: Thu Jul 31 07:46:16 2014 +0200 Committer: Marcus Eriksson marc...@apache.org Committed: Thu Jul 31 07:46:16 2014 +0200 -- src/java/org/apache/cassandra/db/ColumnFamily.java | 4 ++-- .../org/apache/cassandra/db/compaction/LazilyCompactedRow.java | 4 ++-- src/java/org/apache/cassandra/io/sstable/SSTableWriter.java | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) --
[1/7] git commit: Track min/max timestamps for range tombstones.
Repository: cassandra Updated Branches: refs/heads/trunk da3fd5d7a - a88c7e10f Track min/max timestamps for range tombstones. Patch by marcuse; reviewed by iamaleksey for CASSANDRA-7647 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/892bf555 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/892bf555 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/892bf555 Branch: refs/heads/trunk Commit: 892bf5551c06e669b02d161439463ebf2de0793c Parents: b40cb05 Author: Marcus Eriksson marc...@apache.org Authored: Wed Jul 30 13:38:51 2014 +0200 Committer: Marcus Eriksson marc...@apache.org Committed: Thu Jul 31 07:36:39 2014 +0200 -- CHANGES.txt | 1 + src/java/org/apache/cassandra/db/ColumnFamily.java| 3 ++- .../org/apache/cassandra/db/compaction/LazilyCompactedRow.java| 3 ++- src/java/org/apache/cassandra/io/sstable/SSTableWriter.java | 2 ++ 4 files changed, 7 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/892bf555/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 4f08764..a6fc837 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -21,6 +21,7 @@ * Add option to disable STCS in L0 (CASSANDRA-6621) * Fix error when doing reversed queries with static columns (CASSANDRA-7490) * Backport CASSANDRA-6747 (CASSANDRA-7560) + * Track max/min timestamps for range tombstones (CASSANDRA-7647) Merged from 1.2: * Set correct stream ID on responses when non-Exception Throwables are thrown while handling native protocol messages (CASSANDRA-7470) http://git-wip-us.apache.org/repos/asf/cassandra/blob/892bf555/src/java/org/apache/cassandra/db/ColumnFamily.java -- diff --git a/src/java/org/apache/cassandra/db/ColumnFamily.java b/src/java/org/apache/cassandra/db/ColumnFamily.java index 638eacc..95e5645 100644 --- a/src/java/org/apache/cassandra/db/ColumnFamily.java +++ b/src/java/org/apache/cassandra/db/ColumnFamily.java @@ -426,7 +426,8 @@ public abstract class ColumnFamily implements IterableColumn, IRowCacheEntry { RangeTombstone rangeTombstone = it.next(); tombstones.update(rangeTombstone.getLocalDeletionTime()); - +minTimestampSeen = Math.min(minTimestampSeen, rangeTombstone.minTimestamp()); +maxTimestampSeen = Math.max(maxTimestampSeen, rangeTombstone.maxTimestamp()); minColumnNamesSeen = ColumnNameHelper.minComponents(minColumnNamesSeen, rangeTombstone.min, metadata.comparator); maxColumnNamesSeen = ColumnNameHelper.maxComponents(maxColumnNamesSeen, rangeTombstone.max, metadata.comparator); } http://git-wip-us.apache.org/repos/asf/cassandra/blob/892bf555/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java -- diff --git a/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java b/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java index 7cd0842..1da1757 100644 --- a/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java +++ b/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java @@ -253,7 +253,8 @@ public class LazilyCompactedRow extends AbstractCompactedRow implements Iterable else { tombstones.update(t.getLocalDeletionTime()); - +minTimestampSeen = Math.min(minTimestampSeen, t.minTimestamp()); +maxTimestampSeen = Math.max(maxTimestampSeen, t.maxTimestamp()); minColumnNameSeen = ColumnNameHelper.minComponents(minColumnNameSeen, t.min, controller.cfs.metadata.comparator); maxColumnNameSeen = ColumnNameHelper.maxComponents(maxColumnNameSeen, t.max, controller.cfs.metadata.comparator); http://git-wip-us.apache.org/repos/asf/cassandra/blob/892bf555/src/java/org/apache/cassandra/io/sstable/SSTableWriter.java -- diff --git a/src/java/org/apache/cassandra/io/sstable/SSTableWriter.java b/src/java/org/apache/cassandra/io/sstable/SSTableWriter.java index 3a2dca0..8a9bb18 100644 --- a/src/java/org/apache/cassandra/io/sstable/SSTableWriter.java +++ b/src/java/org/apache/cassandra/io/sstable/SSTableWriter.java @@ -243,6 +243,8 @@ public class SSTableWriter extends SSTable { RangeTombstone rangeTombstone = rangeTombstoneIterator.next(); tombstones.update(rangeTombstone.getLocalDeletionTime()); +minTimestamp = Math.min(minTimestamp
[4/7] git commit: Merge branch 'cassandra-2.1' into trunk
Merge branch 'cassandra-2.1' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/45968e56 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/45968e56 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/45968e56 Branch: refs/heads/trunk Commit: 45968e56713f09e24608c537c011414807cfac99 Parents: da3fd5d 3da7d9e Author: Marcus Eriksson marc...@apache.org Authored: Thu Jul 31 07:41:58 2014 +0200 Committer: Marcus Eriksson marc...@apache.org Committed: Thu Jul 31 07:41:58 2014 +0200 -- CHANGES.txt | 1 + src/java/org/apache/cassandra/db/ColumnFamily.java| 3 ++- .../org/apache/cassandra/db/compaction/LazilyCompactedRow.java| 3 ++- src/java/org/apache/cassandra/io/sstable/SSTableWriter.java | 2 ++ 4 files changed, 7 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/45968e56/CHANGES.txt -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/45968e56/src/java/org/apache/cassandra/db/ColumnFamily.java -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/45968e56/src/java/org/apache/cassandra/io/sstable/SSTableWriter.java --
[1/2] git commit: fix merge
Repository: cassandra Updated Branches: refs/heads/cassandra-2.1 3da7d9e25 - 40d7bdf80 fix merge Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/cde56662 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/cde56662 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/cde56662 Branch: refs/heads/cassandra-2.1 Commit: cde5666290a89fcfff0c6a4bf2a421caa615de36 Parents: c4d23e1 Author: Marcus Eriksson marc...@apache.org Authored: Thu Jul 31 07:46:10 2014 +0200 Committer: Marcus Eriksson marc...@apache.org Committed: Thu Jul 31 07:46:10 2014 +0200 -- src/java/org/apache/cassandra/db/ColumnFamily.java | 4 ++-- .../org/apache/cassandra/db/compaction/LazilyCompactedRow.java | 4 ++-- src/java/org/apache/cassandra/io/sstable/SSTableWriter.java | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/cde56662/src/java/org/apache/cassandra/db/ColumnFamily.java -- diff --git a/src/java/org/apache/cassandra/db/ColumnFamily.java b/src/java/org/apache/cassandra/db/ColumnFamily.java index cf47508..cd96785 100644 --- a/src/java/org/apache/cassandra/db/ColumnFamily.java +++ b/src/java/org/apache/cassandra/db/ColumnFamily.java @@ -411,8 +411,8 @@ public abstract class ColumnFamily implements IterableCell, IRowCacheEntry { RangeTombstone rangeTombstone = it.next(); tombstones.update(rangeTombstone.getLocalDeletionTime()); -minTimestampSeen = Math.min(minTimestampSeen, rangeTombstone.minTimestamp()); -maxTimestampSeen = Math.max(maxTimestampSeen, rangeTombstone.maxTimestamp()); +minTimestampSeen = Math.min(minTimestampSeen, rangeTombstone.timestamp()); +maxTimestampSeen = Math.max(maxTimestampSeen, rangeTombstone.timestamp()); minColumnNamesSeen = ColumnNameHelper.minComponents(minColumnNamesSeen, rangeTombstone.min, metadata.comparator); maxColumnNamesSeen = ColumnNameHelper.maxComponents(maxColumnNamesSeen, rangeTombstone.max, metadata.comparator); } http://git-wip-us.apache.org/repos/asf/cassandra/blob/cde56662/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java -- diff --git a/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java b/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java index e922492..7d6f872 100644 --- a/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java +++ b/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java @@ -245,8 +245,8 @@ public class LazilyCompactedRow extends AbstractCompactedRow else { tombstones.update(t.getLocalDeletionTime()); -minTimestampSeen = Math.min(minTimestampSeen, t.minTimestamp()); -maxTimestampSeen = Math.max(maxTimestampSeen, t.maxTimestamp()); +minTimestampSeen = Math.min(minTimestampSeen, t.timestamp()); +maxTimestampSeen = Math.max(maxTimestampSeen, t.timestamp()); minColumnNameSeen = ColumnNameHelper.minComponents(minColumnNameSeen, t.min, controller.cfs.metadata.comparator); maxColumnNameSeen = ColumnNameHelper.maxComponents(maxColumnNameSeen, t.max, controller.cfs.metadata.comparator); return t; http://git-wip-us.apache.org/repos/asf/cassandra/blob/cde56662/src/java/org/apache/cassandra/io/sstable/SSTableWriter.java -- diff --git a/src/java/org/apache/cassandra/io/sstable/SSTableWriter.java b/src/java/org/apache/cassandra/io/sstable/SSTableWriter.java index 20df91b..bfb2445 100644 --- a/src/java/org/apache/cassandra/io/sstable/SSTableWriter.java +++ b/src/java/org/apache/cassandra/io/sstable/SSTableWriter.java @@ -266,8 +266,8 @@ public class SSTableWriter extends SSTable { RangeTombstone rangeTombstone = rangeTombstoneIterator.next(); tombstones.update(rangeTombstone.getLocalDeletionTime()); -minTimestamp = Math.min(minTimestamp, rangeTombstone.minTimestamp()); -maxTimestamp = Math.max(maxTimestamp, rangeTombstone.maxTimestamp()); +minTimestamp = Math.min(minTimestamp, rangeTombstone.timestamp()); +maxTimestamp = Math.max(maxTimestamp, rangeTombstone.timestamp()); minColumnNames = ColumnNameHelper.minComponents(minColumnNames, rangeTombstone.min, metadata.comparator); maxColumnNames = ColumnNameHelper.maxComponents(maxColumnNames,
[7/7] git commit: Merge branch 'cassandra-2.1' into trunk
Merge branch 'cassandra-2.1' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/a88c7e10 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/a88c7e10 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/a88c7e10 Branch: refs/heads/trunk Commit: a88c7e10f360c599d39fafa01d9dcc85f6f41cf0 Parents: 45968e5 40d7bdf Author: Marcus Eriksson marc...@apache.org Authored: Thu Jul 31 07:47:47 2014 +0200 Committer: Marcus Eriksson marc...@apache.org Committed: Thu Jul 31 07:47:47 2014 +0200 -- src/java/org/apache/cassandra/db/ColumnFamily.java | 4 ++-- .../org/apache/cassandra/db/compaction/LazilyCompactedRow.java | 4 ++-- src/java/org/apache/cassandra/io/sstable/SSTableWriter.java | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/a88c7e10/src/java/org/apache/cassandra/db/ColumnFamily.java -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/a88c7e10/src/java/org/apache/cassandra/io/sstable/SSTableWriter.java --
git commit: fix merge
Repository: cassandra Updated Branches: refs/heads/cassandra-2.1.0 c4d23e168 - cde566629 fix merge Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/cde56662 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/cde56662 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/cde56662 Branch: refs/heads/cassandra-2.1.0 Commit: cde5666290a89fcfff0c6a4bf2a421caa615de36 Parents: c4d23e1 Author: Marcus Eriksson marc...@apache.org Authored: Thu Jul 31 07:46:10 2014 +0200 Committer: Marcus Eriksson marc...@apache.org Committed: Thu Jul 31 07:46:10 2014 +0200 -- src/java/org/apache/cassandra/db/ColumnFamily.java | 4 ++-- .../org/apache/cassandra/db/compaction/LazilyCompactedRow.java | 4 ++-- src/java/org/apache/cassandra/io/sstable/SSTableWriter.java | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/cde56662/src/java/org/apache/cassandra/db/ColumnFamily.java -- diff --git a/src/java/org/apache/cassandra/db/ColumnFamily.java b/src/java/org/apache/cassandra/db/ColumnFamily.java index cf47508..cd96785 100644 --- a/src/java/org/apache/cassandra/db/ColumnFamily.java +++ b/src/java/org/apache/cassandra/db/ColumnFamily.java @@ -411,8 +411,8 @@ public abstract class ColumnFamily implements IterableCell, IRowCacheEntry { RangeTombstone rangeTombstone = it.next(); tombstones.update(rangeTombstone.getLocalDeletionTime()); -minTimestampSeen = Math.min(minTimestampSeen, rangeTombstone.minTimestamp()); -maxTimestampSeen = Math.max(maxTimestampSeen, rangeTombstone.maxTimestamp()); +minTimestampSeen = Math.min(minTimestampSeen, rangeTombstone.timestamp()); +maxTimestampSeen = Math.max(maxTimestampSeen, rangeTombstone.timestamp()); minColumnNamesSeen = ColumnNameHelper.minComponents(minColumnNamesSeen, rangeTombstone.min, metadata.comparator); maxColumnNamesSeen = ColumnNameHelper.maxComponents(maxColumnNamesSeen, rangeTombstone.max, metadata.comparator); } http://git-wip-us.apache.org/repos/asf/cassandra/blob/cde56662/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java -- diff --git a/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java b/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java index e922492..7d6f872 100644 --- a/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java +++ b/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java @@ -245,8 +245,8 @@ public class LazilyCompactedRow extends AbstractCompactedRow else { tombstones.update(t.getLocalDeletionTime()); -minTimestampSeen = Math.min(minTimestampSeen, t.minTimestamp()); -maxTimestampSeen = Math.max(maxTimestampSeen, t.maxTimestamp()); +minTimestampSeen = Math.min(minTimestampSeen, t.timestamp()); +maxTimestampSeen = Math.max(maxTimestampSeen, t.timestamp()); minColumnNameSeen = ColumnNameHelper.minComponents(minColumnNameSeen, t.min, controller.cfs.metadata.comparator); maxColumnNameSeen = ColumnNameHelper.maxComponents(maxColumnNameSeen, t.max, controller.cfs.metadata.comparator); return t; http://git-wip-us.apache.org/repos/asf/cassandra/blob/cde56662/src/java/org/apache/cassandra/io/sstable/SSTableWriter.java -- diff --git a/src/java/org/apache/cassandra/io/sstable/SSTableWriter.java b/src/java/org/apache/cassandra/io/sstable/SSTableWriter.java index 20df91b..bfb2445 100644 --- a/src/java/org/apache/cassandra/io/sstable/SSTableWriter.java +++ b/src/java/org/apache/cassandra/io/sstable/SSTableWriter.java @@ -266,8 +266,8 @@ public class SSTableWriter extends SSTable { RangeTombstone rangeTombstone = rangeTombstoneIterator.next(); tombstones.update(rangeTombstone.getLocalDeletionTime()); -minTimestamp = Math.min(minTimestamp, rangeTombstone.minTimestamp()); -maxTimestamp = Math.max(maxTimestamp, rangeTombstone.maxTimestamp()); +minTimestamp = Math.min(minTimestamp, rangeTombstone.timestamp()); +maxTimestamp = Math.max(maxTimestamp, rangeTombstone.timestamp()); minColumnNames = ColumnNameHelper.minComponents(minColumnNames, rangeTombstone.min, metadata.comparator); maxColumnNames = ColumnNameHelper.maxComponents(maxColumnNames,
[2/7] git commit: Merge branch 'cassandra-2.0' into cassandra-2.1.0
Merge branch 'cassandra-2.0' into cassandra-2.1.0 Conflicts: CHANGES.txt Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/c4d23e16 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/c4d23e16 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/c4d23e16 Branch: refs/heads/trunk Commit: c4d23e168dd1b928669bc5255b79671751840a7c Parents: ff99244 892bf55 Author: Marcus Eriksson marc...@apache.org Authored: Thu Jul 31 07:38:16 2014 +0200 Committer: Marcus Eriksson marc...@apache.org Committed: Thu Jul 31 07:38:16 2014 +0200 -- CHANGES.txt | 1 + src/java/org/apache/cassandra/db/ColumnFamily.java| 3 ++- .../org/apache/cassandra/db/compaction/LazilyCompactedRow.java| 3 ++- src/java/org/apache/cassandra/io/sstable/SSTableWriter.java | 2 ++ 4 files changed, 7 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/c4d23e16/CHANGES.txt -- diff --cc CHANGES.txt index d74db1a,a6fc837..3b2f35c --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,43 -1,10 +1,44 @@@ -2.0.10 +2.1.0-final * Remove shuffle and taketoken (CASSANDRA-7601) - * Switch liveRatio-related log messages to DEBUG (CASSANDRA-7467) - * (cqlsh) Add tab-completion for CREATE/DROP USER IF [NOT] EXISTS (CASSANDRA-7611) - * Always merge ranges owned by a single node (CASSANDRA-6930) - * Pig support for hadoop CqlInputFormat (CASSANDRA-6454) + * Clean up Windows batch scripts (CASSANDRA-7619) + * Fix native protocol drop user type notification (CASSANDRA-7571) + * Give read access to system.schema_usertypes to all authenticated users + (CASSANDRA-7578) + * (cqlsh) Fix cqlsh display when zero rows are returned (CASSANDRA-7580) + * Get java version correctly when JAVA_TOOL_OPTIONS is set (CASSANDRA-7572) + * Fix NPE when dropping index from non-existent keyspace, AssertionError when + dropping non-existent index with IF EXISTS (CASSANDRA-7590) + * Fix sstablelevelresetter hang (CASSANDRA-7614) + * (cqlsh) Fix deserialization of blobs (CASSANDRA-7603) + * Use keyspace updated schema change message for UDT changes in v1 and + v2 protocols (CASSANDRA-7617) + * Fix tracing of range slices and secondary index lookups that are local + to the coordinator (CASSANDRA-7599) + * Set -Dcassandra.storagedir for all tool shell scripts (CASSANDRA-7587) + * Don't swap max/min col names when mutating sstable metadata (CASSANDRA-7596) + * (cqlsh) Correctly handle paged result sets (CASSANDRA-7625) + * (cqlsh) Improve waiting for a trace to complete (CASSANDRA-7626) + * Fix tracing of concurrent range slices and 2ary index queries (CASSANDRA-7626) +Merged from 2.0: * Fix ReversedType(DateType) mapping to native protocol (CASSANDRA-7576) + * Always merge ranges owned by a single node (CASSANDRA-6930) ++ * Track max/min timestamps for range tombstones (CASSANDRA-7647) + + +2.1.0-rc4 + * Fix word count hadoop example (CASSANDRA-7200) + * Updated memtable_cleanup_threshold and memtable_flush_writers defaults + (CASSANDRA-7551) + * (Windows) fix startup when WMI memory query fails (CASSANDRA-7505) + * Anti-compaction proceeds if any part of the repair failed (CASANDRA-7521) + * Add missing table name to DROP INDEX responses and notifications (CASSANDRA-7539) + * Bump CQL version to 3.2.0 and update CQL documentation (CASSANDRA-7527) + * Fix configuration error message when running nodetool ring (CASSANDRA-7508) + * Support conditional updates, tuple type, and the v3 protocol in cqlsh (CASSANDRA-7509) + * Handle queries on multiple secondary index types (CASSANDRA-7525) + * Fix cqlsh authentication with v3 native protocol (CASSANDRA-7564) + * Fix NPE when unknown prepared statement ID is used (CASSANDRA-7454) +Merged from 2.0: * (Windows) force range-based repair to non-sequential mode (CASSANDRA-7541) * Fix range merging when DES scores are zero (CASSANDRA-7535) * Warn when SSL certificates have expired (CASSANDRA-7528) http://git-wip-us.apache.org/repos/asf/cassandra/blob/c4d23e16/src/java/org/apache/cassandra/db/ColumnFamily.java -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/c4d23e16/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java -- diff --cc src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java index 73a1927,1da1757..e922492 --- a/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java +++ b/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java @@@ -245,9 -253,11 +245,10 @@@ public class
git commit: Avoid NPE when listing saved caches directory
Repository: cassandra Updated Branches: refs/heads/cassandra-2.0 892bf5551 - 1a0aaf049 Avoid NPE when listing saved caches directory Patch by marcuse; reviewed by yukim for CASSANDRA-7632 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/1a0aaf04 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/1a0aaf04 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/1a0aaf04 Branch: refs/heads/cassandra-2.0 Commit: 1a0aaf04986155eae45b2685d234b928866b681c Parents: 892bf55 Author: Marcus Eriksson marc...@apache.org Authored: Thu Jul 31 07:53:33 2014 +0200 Committer: Marcus Eriksson marc...@apache.org Committed: Thu Jul 31 07:53:33 2014 +0200 -- CHANGES.txt | 1 + .../apache/cassandra/cache/AutoSavingCache.java | 23 2 files changed, 15 insertions(+), 9 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/1a0aaf04/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index a6fc837..1fcb556 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -22,6 +22,7 @@ * Fix error when doing reversed queries with static columns (CASSANDRA-7490) * Backport CASSANDRA-6747 (CASSANDRA-7560) * Track max/min timestamps for range tombstones (CASSANDRA-7647) + * Fix NPE when listing saved caches dir (CASSANDRA-7632) Merged from 1.2: * Set correct stream ID on responses when non-Exception Throwables are thrown while handling native protocol messages (CASSANDRA-7470) http://git-wip-us.apache.org/repos/asf/cassandra/blob/1a0aaf04/src/java/org/apache/cassandra/cache/AutoSavingCache.java -- diff --git a/src/java/org/apache/cassandra/cache/AutoSavingCache.java b/src/java/org/apache/cassandra/cache/AutoSavingCache.java index 6554eb3..64234e2 100644 --- a/src/java/org/apache/cassandra/cache/AutoSavingCache.java +++ b/src/java/org/apache/cassandra/cache/AutoSavingCache.java @@ -261,19 +261,24 @@ public class AutoSavingCacheK extends CacheKey, V extends InstrumentingCacheK { File savedCachesDir = new File(DatabaseDescriptor.getSavedCachesLocation()); assert savedCachesDir.exists() savedCachesDir.isDirectory(); - -for (File file : savedCachesDir.listFiles()) +File[] files = savedCachesDir.listFiles(); +if (files != null) { -if (!file.isFile()) -continue; // someone's been messing with our directory. naughty! - -if (file.getName().endsWith(cacheType.toString()) -|| file.getName().endsWith(String.format(%s-%s.db, cacheType.toString(), CURRENT_VERSION))) +for (File file : files) { -if (!file.delete()) -logger.warn(Failed to delete {}, file.getAbsolutePath()); +if (!file.isFile()) +continue; // someone's been messing with our directory. naughty! + +if (file.getName().endsWith(cacheType.toString()) +|| file.getName().endsWith(String.format(%s-%s.db, cacheType.toString(), CURRENT_VERSION))) +{ +if (!file.delete()) +logger.warn(Failed to delete {}, file.getAbsolutePath()); +} } } +else +logger.warn(Could not list files in {}, savedCachesDir); } }
[1/2] git commit: Use a range aware scanner for cleanup to improve performance.
Updated Branches: refs/heads/trunk c651f8362 - a69457c14 Use a range aware scanner for cleanup to improve performance. Patch by thobbs, stuhood and marcuse, reviewed by marcuse for CASSANDRA-2524 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/9e846d9f Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/9e846d9f Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/9e846d9f Branch: refs/heads/trunk Commit: 9e846d9ff69f825f6200f7f75fdfc53926bfc255 Parents: 0fc15e5 Author: Marcus Eriksson marc...@spotify.com Authored: Wed Aug 14 08:41:30 2013 +0200 Committer: Marcus Eriksson marc...@spotify.com Committed: Wed Aug 14 08:44:05 2013 +0200 -- CHANGES.txt | 2 +- .../apache/cassandra/db/ColumnFamilyStore.java | 12 + .../db/compaction/CompactionManager.java| 178 .../cassandra/io/sstable/SSTableReader.java | 18 +- .../cassandra/io/sstable/SSTableScanner.java| 150 ++ .../org/apache/cassandra/db/RowCacheTest.java | 37 ++- .../io/sstable/SSTableScannerTest.java | 287 +++ 7 files changed, 563 insertions(+), 121 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/9e846d9f/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index f7e439c..805dca2 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -3,7 +3,7 @@ * Log Merkle tree stats (CASSANDRA-2698) * Switch from crc32 to adler32 for compressed sstable checksums (CASSANDRA-5862) * Improve offheap memcpy performance (CASSANDRA-5884) - + * Use a range aware scanner for cleanup (CASSANDRA-2524) 2.0.0-rc2 * enable vnodes by default (CASSANDRA-5869) http://git-wip-us.apache.org/repos/asf/cassandra/blob/9e846d9f/src/java/org/apache/cassandra/db/ColumnFamilyStore.java -- diff --git a/src/java/org/apache/cassandra/db/ColumnFamilyStore.java b/src/java/org/apache/cassandra/db/ColumnFamilyStore.java index 7b11672..2adda32 100644 --- a/src/java/org/apache/cassandra/db/ColumnFamilyStore.java +++ b/src/java/org/apache/cassandra/db/ColumnFamilyStore.java @@ -1459,6 +1459,18 @@ public class ColumnFamilyStore implements ColumnFamilyStoreMBean return columns; } +public void cleanupCache() +{ +CollectionRangeToken ranges = StorageService.instance.getLocalRanges(keyspace.getName()); + +for (RowCacheKey key : CacheService.instance.rowCache.getKeySet()) +{ +DecoratedKey dk = StorageService.getPartitioner().decorateKey(ByteBuffer.wrap(key.key)); +if (key.cfId == metadata.cfId !Range.isInRanges(dk.token, ranges)) +invalidateCachedRow(dk); +} +} + public static abstract class AbstractScanIterator extends AbstractIteratorRow implements CloseableIteratorRow { public boolean needsFiltering() http://git-wip-us.apache.org/repos/asf/cassandra/blob/9e846d9f/src/java/org/apache/cassandra/db/compaction/CompactionManager.java -- diff --git a/src/java/org/apache/cassandra/db/compaction/CompactionManager.java b/src/java/org/apache/cassandra/db/compaction/CompactionManager.java index 35354c8..ed6770f 100644 --- a/src/java/org/apache/cassandra/db/compaction/CompactionManager.java +++ b/src/java/org/apache/cassandra/db/compaction/CompactionManager.java @@ -97,6 +97,8 @@ public class CompactionManager implements CompactionManagerMBean private final CompactionExecutor executor = new CompactionExecutor(); private final CompactionExecutor validationExecutor = new ValidationExecutor(); +private final static CompactionExecutor cacheCleanupExecutor = new CacheCleanupExecutor(); + private final CompactionMetrics metrics = new CompactionMetrics(executor, validationExecutor); private final MultisetColumnFamilyStore compactingCF = ConcurrentHashMultiset.create(); @@ -461,7 +463,7 @@ public class CompactionManager implements CompactionManagerMBean * * @throws IOException */ -private void doCleanupCompaction(ColumnFamilyStore cfs, CollectionSSTableReader sstables, CounterId.OneShotRenewer renewer) throws IOException +private void doCleanupCompaction(final ColumnFamilyStore cfs, CollectionSSTableReader sstables, CounterId.OneShotRenewer renewer) throws IOException { assert !cfs.isIndex(); Keyspace keyspace = cfs.keyspace; @@ -472,8 +474,8 @@ public class CompactionManager implements CompactionManagerMBean return; } -boolean isCommutative = cfs.metadata.getDefaultValidator().isCommutative
[2/2] git commit: Merge branch 'cassandra-2.0' into trunk
Merge branch 'cassandra-2.0' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/a69457c1 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/a69457c1 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/a69457c1 Branch: refs/heads/trunk Commit: a69457c14a36c5eb3db523b3eb42b6d33177 Parents: c651f83 9e846d9 Author: Marcus Eriksson marc...@spotify.com Authored: Wed Aug 14 08:45:34 2013 +0200 Committer: Marcus Eriksson marc...@spotify.com Committed: Wed Aug 14 08:45:34 2013 +0200 -- CHANGES.txt | 2 +- .../apache/cassandra/db/ColumnFamilyStore.java | 12 + .../db/compaction/CompactionManager.java| 178 .../cassandra/io/sstable/SSTableReader.java | 18 +- .../cassandra/io/sstable/SSTableScanner.java| 150 ++ .../org/apache/cassandra/db/RowCacheTest.java | 37 ++- .../io/sstable/SSTableScannerTest.java | 287 +++ 7 files changed, 563 insertions(+), 121 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/a69457c1/src/java/org/apache/cassandra/db/ColumnFamilyStore.java -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/a69457c1/src/java/org/apache/cassandra/db/compaction/CompactionManager.java --
git commit: Use a range aware scanner for cleanup to improve performance.
Updated Branches: refs/heads/cassandra-2.0 0fc15e5eb - 9e846d9ff Use a range aware scanner for cleanup to improve performance. Patch by thobbs, stuhood and marcuse, reviewed by marcuse for CASSANDRA-2524 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/9e846d9f Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/9e846d9f Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/9e846d9f Branch: refs/heads/cassandra-2.0 Commit: 9e846d9ff69f825f6200f7f75fdfc53926bfc255 Parents: 0fc15e5 Author: Marcus Eriksson marc...@spotify.com Authored: Wed Aug 14 08:41:30 2013 +0200 Committer: Marcus Eriksson marc...@spotify.com Committed: Wed Aug 14 08:44:05 2013 +0200 -- CHANGES.txt | 2 +- .../apache/cassandra/db/ColumnFamilyStore.java | 12 + .../db/compaction/CompactionManager.java| 178 .../cassandra/io/sstable/SSTableReader.java | 18 +- .../cassandra/io/sstable/SSTableScanner.java| 150 ++ .../org/apache/cassandra/db/RowCacheTest.java | 37 ++- .../io/sstable/SSTableScannerTest.java | 287 +++ 7 files changed, 563 insertions(+), 121 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/9e846d9f/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index f7e439c..805dca2 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -3,7 +3,7 @@ * Log Merkle tree stats (CASSANDRA-2698) * Switch from crc32 to adler32 for compressed sstable checksums (CASSANDRA-5862) * Improve offheap memcpy performance (CASSANDRA-5884) - + * Use a range aware scanner for cleanup (CASSANDRA-2524) 2.0.0-rc2 * enable vnodes by default (CASSANDRA-5869) http://git-wip-us.apache.org/repos/asf/cassandra/blob/9e846d9f/src/java/org/apache/cassandra/db/ColumnFamilyStore.java -- diff --git a/src/java/org/apache/cassandra/db/ColumnFamilyStore.java b/src/java/org/apache/cassandra/db/ColumnFamilyStore.java index 7b11672..2adda32 100644 --- a/src/java/org/apache/cassandra/db/ColumnFamilyStore.java +++ b/src/java/org/apache/cassandra/db/ColumnFamilyStore.java @@ -1459,6 +1459,18 @@ public class ColumnFamilyStore implements ColumnFamilyStoreMBean return columns; } +public void cleanupCache() +{ +CollectionRangeToken ranges = StorageService.instance.getLocalRanges(keyspace.getName()); + +for (RowCacheKey key : CacheService.instance.rowCache.getKeySet()) +{ +DecoratedKey dk = StorageService.getPartitioner().decorateKey(ByteBuffer.wrap(key.key)); +if (key.cfId == metadata.cfId !Range.isInRanges(dk.token, ranges)) +invalidateCachedRow(dk); +} +} + public static abstract class AbstractScanIterator extends AbstractIteratorRow implements CloseableIteratorRow { public boolean needsFiltering() http://git-wip-us.apache.org/repos/asf/cassandra/blob/9e846d9f/src/java/org/apache/cassandra/db/compaction/CompactionManager.java -- diff --git a/src/java/org/apache/cassandra/db/compaction/CompactionManager.java b/src/java/org/apache/cassandra/db/compaction/CompactionManager.java index 35354c8..ed6770f 100644 --- a/src/java/org/apache/cassandra/db/compaction/CompactionManager.java +++ b/src/java/org/apache/cassandra/db/compaction/CompactionManager.java @@ -97,6 +97,8 @@ public class CompactionManager implements CompactionManagerMBean private final CompactionExecutor executor = new CompactionExecutor(); private final CompactionExecutor validationExecutor = new ValidationExecutor(); +private final static CompactionExecutor cacheCleanupExecutor = new CacheCleanupExecutor(); + private final CompactionMetrics metrics = new CompactionMetrics(executor, validationExecutor); private final MultisetColumnFamilyStore compactingCF = ConcurrentHashMultiset.create(); @@ -461,7 +463,7 @@ public class CompactionManager implements CompactionManagerMBean * * @throws IOException */ -private void doCleanupCompaction(ColumnFamilyStore cfs, CollectionSSTableReader sstables, CounterId.OneShotRenewer renewer) throws IOException +private void doCleanupCompaction(final ColumnFamilyStore cfs, CollectionSSTableReader sstables, CounterId.OneShotRenewer renewer) throws IOException { assert !cfs.isIndex(); Keyspace keyspace = cfs.keyspace; @@ -472,8 +474,8 @@ public class CompactionManager implements CompactionManagerMBean return; } -boolean isCommutative = cfs.metadata.getDefaultValidator().isCommutative
git commit: Add all sstables to the leveled manifest on startup.
Updated Branches: refs/heads/cassandra-2.0.0 cd4718245 - 8f367fdf9 Add all sstables to the leveled manifest on startup. Patch by marcuse, reviewed by jbellis for CASSANDRA-5908 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/8f367fdf Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/8f367fdf Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/8f367fdf Branch: refs/heads/cassandra-2.0.0 Commit: 8f367fdf92c03ee4bbcb0daa2272bd5155cf4174 Parents: cd47182 Author: Marcus Eriksson marc...@spotify.com Authored: Wed Aug 21 14:50:02 2013 +0200 Committer: Marcus Eriksson marc...@spotify.com Committed: Wed Aug 21 14:50:02 2013 +0200 -- .../apache/cassandra/db/compaction/LeveledCompactionStrategy.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/8f367fdf/src/java/org/apache/cassandra/db/compaction/LeveledCompactionStrategy.java -- diff --git a/src/java/org/apache/cassandra/db/compaction/LeveledCompactionStrategy.java b/src/java/org/apache/cassandra/db/compaction/LeveledCompactionStrategy.java index 292220d..65abb0a 100644 --- a/src/java/org/apache/cassandra/db/compaction/LeveledCompactionStrategy.java +++ b/src/java/org/apache/cassandra/db/compaction/LeveledCompactionStrategy.java @@ -71,7 +71,7 @@ public class LeveledCompactionStrategy extends AbstractCompactionStrategy implem cfs.getDataTracker().subscribe(this); logger.debug({} subscribed to the data tracker., this); -manifest = LeveledManifest.create(cfs, this.maxSSTableSizeInMB, Collections.SSTableReaderemptyList(), localOptions); +manifest = LeveledManifest.create(cfs, this.maxSSTableSizeInMB, cfs.getSSTables(), localOptions); logger.debug(Created {}, manifest); }
[2/2] git commit: Merge branch 'cassandra-2.0.0' into cassandra-2.0
Merge branch 'cassandra-2.0.0' into cassandra-2.0 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/857a7f5f Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/857a7f5f Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/857a7f5f Branch: refs/heads/cassandra-2.0 Commit: 857a7f5fb8246aa2d588c3ff257109b14f35be2f Parents: c4f6be8 8f367fd Author: Marcus Eriksson marc...@spotify.com Authored: Wed Aug 21 14:52:25 2013 +0200 Committer: Marcus Eriksson marc...@spotify.com Committed: Wed Aug 21 14:52:25 2013 +0200 -- .../apache/cassandra/db/compaction/LeveledCompactionStrategy.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/857a7f5f/src/java/org/apache/cassandra/db/compaction/LeveledCompactionStrategy.java --
[1/2] git commit: Add all sstables to the leveled manifest on startup.
Updated Branches: refs/heads/cassandra-2.0 c4f6be8c4 - 857a7f5fb Add all sstables to the leveled manifest on startup. Patch by marcuse, reviewed by jbellis for CASSANDRA-5908 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/8f367fdf Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/8f367fdf Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/8f367fdf Branch: refs/heads/cassandra-2.0 Commit: 8f367fdf92c03ee4bbcb0daa2272bd5155cf4174 Parents: cd47182 Author: Marcus Eriksson marc...@spotify.com Authored: Wed Aug 21 14:50:02 2013 +0200 Committer: Marcus Eriksson marc...@spotify.com Committed: Wed Aug 21 14:50:02 2013 +0200 -- .../apache/cassandra/db/compaction/LeveledCompactionStrategy.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/8f367fdf/src/java/org/apache/cassandra/db/compaction/LeveledCompactionStrategy.java -- diff --git a/src/java/org/apache/cassandra/db/compaction/LeveledCompactionStrategy.java b/src/java/org/apache/cassandra/db/compaction/LeveledCompactionStrategy.java index 292220d..65abb0a 100644 --- a/src/java/org/apache/cassandra/db/compaction/LeveledCompactionStrategy.java +++ b/src/java/org/apache/cassandra/db/compaction/LeveledCompactionStrategy.java @@ -71,7 +71,7 @@ public class LeveledCompactionStrategy extends AbstractCompactionStrategy implem cfs.getDataTracker().subscribe(this); logger.debug({} subscribed to the data tracker., this); -manifest = LeveledManifest.create(cfs, this.maxSSTableSizeInMB, Collections.SSTableReaderemptyList(), localOptions); +manifest = LeveledManifest.create(cfs, this.maxSSTableSizeInMB, cfs.getSSTables(), localOptions); logger.debug(Created {}, manifest); }
[2/3] git commit: Merge branch 'cassandra-2.0.0' into cassandra-2.0
Merge branch 'cassandra-2.0.0' into cassandra-2.0 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/857a7f5f Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/857a7f5f Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/857a7f5f Branch: refs/heads/trunk Commit: 857a7f5fb8246aa2d588c3ff257109b14f35be2f Parents: c4f6be8 8f367fd Author: Marcus Eriksson marc...@spotify.com Authored: Wed Aug 21 14:52:25 2013 +0200 Committer: Marcus Eriksson marc...@spotify.com Committed: Wed Aug 21 14:52:25 2013 +0200 -- .../apache/cassandra/db/compaction/LeveledCompactionStrategy.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/857a7f5f/src/java/org/apache/cassandra/db/compaction/LeveledCompactionStrategy.java --
[3/3] git commit: Merge branch 'cassandra-2.0' into trunk
Merge branch 'cassandra-2.0' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/7678661b Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/7678661b Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/7678661b Branch: refs/heads/trunk Commit: 7678661b0937ebef8e045418ea66ff6f26269928 Parents: fe32c97 857a7f5 Author: Marcus Eriksson marc...@spotify.com Authored: Wed Aug 21 14:53:23 2013 +0200 Committer: Marcus Eriksson marc...@spotify.com Committed: Wed Aug 21 14:53:23 2013 +0200 -- .../apache/cassandra/db/compaction/LeveledCompactionStrategy.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --
[1/3] git commit: Add all sstables to the leveled manifest on startup.
Updated Branches: refs/heads/trunk fe32c9744 - 7678661b0 Add all sstables to the leveled manifest on startup. Patch by marcuse, reviewed by jbellis for CASSANDRA-5908 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/8f367fdf Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/8f367fdf Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/8f367fdf Branch: refs/heads/trunk Commit: 8f367fdf92c03ee4bbcb0daa2272bd5155cf4174 Parents: cd47182 Author: Marcus Eriksson marc...@spotify.com Authored: Wed Aug 21 14:50:02 2013 +0200 Committer: Marcus Eriksson marc...@spotify.com Committed: Wed Aug 21 14:50:02 2013 +0200 -- .../apache/cassandra/db/compaction/LeveledCompactionStrategy.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/8f367fdf/src/java/org/apache/cassandra/db/compaction/LeveledCompactionStrategy.java -- diff --git a/src/java/org/apache/cassandra/db/compaction/LeveledCompactionStrategy.java b/src/java/org/apache/cassandra/db/compaction/LeveledCompactionStrategy.java index 292220d..65abb0a 100644 --- a/src/java/org/apache/cassandra/db/compaction/LeveledCompactionStrategy.java +++ b/src/java/org/apache/cassandra/db/compaction/LeveledCompactionStrategy.java @@ -71,7 +71,7 @@ public class LeveledCompactionStrategy extends AbstractCompactionStrategy implem cfs.getDataTracker().subscribe(this); logger.debug({} subscribed to the data tracker., this); -manifest = LeveledManifest.create(cfs, this.maxSSTableSizeInMB, Collections.SSTableReaderemptyList(), localOptions); +manifest = LeveledManifest.create(cfs, this.maxSSTableSizeInMB, cfs.getSSTables(), localOptions); logger.debug(Created {}, manifest); }
git commit: fix build - log4j is gone
Updated Branches: refs/heads/trunk 8bc0f5990 - 3f5322f02 fix build - log4j is gone Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/3f5322f0 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/3f5322f0 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/3f5322f0 Branch: refs/heads/trunk Commit: 3f5322f02af3ef7e93706cd80ca65c5b127478e0 Parents: 8bc0f59 Author: Marcus Eriksson marc...@spotify.com Authored: Thu Aug 22 15:39:16 2013 +0200 Committer: Marcus Eriksson marc...@spotify.com Committed: Thu Aug 22 15:39:16 2013 +0200 -- src/java/org/apache/cassandra/tools/StandaloneSplitter.java | 6 -- 1 file changed, 6 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/3f5322f0/src/java/org/apache/cassandra/tools/StandaloneSplitter.java -- diff --git a/src/java/org/apache/cassandra/tools/StandaloneSplitter.java b/src/java/org/apache/cassandra/tools/StandaloneSplitter.java index 245d824..44cbc33 100644 --- a/src/java/org/apache/cassandra/tools/StandaloneSplitter.java +++ b/src/java/org/apache/cassandra/tools/StandaloneSplitter.java @@ -32,7 +32,6 @@ import org.apache.cassandra.db.Keyspace; import org.apache.cassandra.db.compaction.LeveledManifest; import org.apache.cassandra.db.compaction.SSTableSplitter; import org.apache.cassandra.io.sstable.*; -import org.apache.cassandra.service.CassandraDaemon; import org.apache.cassandra.utils.Pair; import static org.apache.cassandra.tools.BulkLoader.CmdLineOptions; @@ -41,11 +40,6 @@ public class StandaloneSplitter { public static final int DEFAULT_SSTABLE_SIZE = 50; -static -{ -CassandraDaemon.initLog4j(); -} - private static final String TOOL_NAME = sstablessplit; private static final String VERBOSE_OPTION = verbose; private static final String DEBUG_OPTION = debug;
git commit: Switch to LZ4 compression for internode communication.
Updated Branches: refs/heads/trunk 164f15866 - 14da6bca0 Switch to LZ4 compression for internode communication. Patch by marcuse, reviewed by jbellis for CASSANDRA-5887. Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/14da6bca Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/14da6bca Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/14da6bca Branch: refs/heads/trunk Commit: 14da6bca01754fc4b4cee1398f5f603a1c5543f6 Parents: 164f158 Author: Marcus Eriksson marc...@spotify.com Authored: Fri Aug 30 09:30:14 2013 +0200 Committer: Marcus Eriksson marc...@spotify.com Committed: Fri Aug 30 09:30:14 2013 +0200 -- CHANGES.txt | 2 +- build.xml | 2 +- lib/licenses/lz4-1.1.0.txt | 235 --- lib/licenses/lz4-1.1.2.txt | 235 +++ lib/lz4-1.1.0.jar | Bin 134748 - 0 bytes lib/lz4-1.1.2.jar | Bin 0 - 134344 bytes .../db/commitlog/CommitLogDescriptor.java | 2 +- .../cassandra/net/IncomingTcpConnection.java| 17 +- .../apache/cassandra/net/MessagingService.java | 3 +- .../cassandra/net/OutboundTcpConnection.java| 22 +- 10 files changed, 277 insertions(+), 241 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/14da6bca/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 61aef97..472375a 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,6 +1,6 @@ 2.1 * change logging from log4j to logback (CASSANDRA-5883) - + * switch to LZ4 compression for internode communication (CASSANDRA-5887) 2.0.1 * Improve leveled compaction's ability to find non-overlapping L0 compactions http://git-wip-us.apache.org/repos/asf/cassandra/blob/14da6bca/build.xml -- diff --git a/build.xml b/build.xml index 3457e8d..e58ccc3 100644 --- a/build.xml +++ b/build.xml @@ -335,7 +335,7 @@ scm connection=${scm.connection} developerConnection=${scm.developerConnection} url=${scm.url}/ dependencyManagement dependency groupId=org.xerial.snappy artifactId=snappy-java version=1.0.5/ - dependency groupId=net.jpountz.lz4 artifactId=lz4 version=1.1.0/ + dependency groupId=net.jpountz.lz4 artifactId=lz4 version=1.1.2/ dependency groupId=com.ning artifactId=compress-lzf version=0.8.4/ dependency groupId=com.google.guava artifactId=guava version=13.0.1/ dependency groupId=commons-cli artifactId=commons-cli version=1.1/ http://git-wip-us.apache.org/repos/asf/cassandra/blob/14da6bca/lib/licenses/lz4-1.1.0.txt -- diff --git a/lib/licenses/lz4-1.1.0.txt b/lib/licenses/lz4-1.1.0.txt deleted file mode 100644 index 7f3ef36..000 --- a/lib/licenses/lz4-1.1.0.txt +++ /dev/null @@ -1,235 +0,0 @@ - - Apache License - Version 2.0, January 2004 -http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - License shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - Licensor shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - Legal Entity shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - control means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - You (or Your) shall mean an individual or Legal Entity - exercising permissions granted by this License. - - Source form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - Object form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - Work shall mean the work of authorship, whether in Source or - Object form, made available under the License
git commit: Add missing CommitLogDescriptor version 21.
Updated Branches: refs/heads/trunk 87d5c019c - 5fd463184 Add missing CommitLogDescriptor version 21. Patch by cmolter, reviewed by marcuse for CASSANDRA-5984. Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/5fd46318 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/5fd46318 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/5fd46318 Branch: refs/heads/trunk Commit: 5fd463184b334088928e30886685ef583812c00d Parents: 87d5c01 Author: Marcus Eriksson marc...@spotify.com Authored: Sun Sep 8 19:19:58 2013 +0200 Committer: Marcus Eriksson marc...@spotify.com Committed: Sun Sep 8 19:19:58 2013 +0200 -- .../org/apache/cassandra/db/commitlog/CommitLogDescriptor.java | 5 - 1 file changed, 4 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/5fd46318/src/java/org/apache/cassandra/db/commitlog/CommitLogDescriptor.java -- diff --git a/src/java/org/apache/cassandra/db/commitlog/CommitLogDescriptor.java b/src/java/org/apache/cassandra/db/commitlog/CommitLogDescriptor.java index 0f5f1dd..507c1ca 100644 --- a/src/java/org/apache/cassandra/db/commitlog/CommitLogDescriptor.java +++ b/src/java/org/apache/cassandra/db/commitlog/CommitLogDescriptor.java @@ -35,11 +35,12 @@ public class CommitLogDescriptor public static final int VERSION_12 = 2; public static final int VERSION_20 = 3; +public static final int VERSION_21 = 4; /** * Increment this number if there is a changes in the commit log disc layout or MessagingVersion changes. * Note: make sure to handle {@link #getMessagingVersion()} */ -public static final int current_version = VERSION_20; +public static final int current_version = VERSION_21; private final int version; public final long id; @@ -77,6 +78,8 @@ public class CommitLogDescriptor return MessagingService.VERSION_12; case VERSION_20: return MessagingService.VERSION_20; +case VERSION_21: +return MessagingService.VERSION_21; default: throw new IllegalStateException(Unknown commitlog version + version); }
[2/2] git commit: Merge branch 'cassandra-2.0' into trunk
Merge branch 'cassandra-2.0' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/cabf0fa3 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/cabf0fa3 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/cabf0fa3 Branch: refs/heads/trunk Commit: cabf0fa32a514f552c2f49641b0dd200be667a97 Parents: 3634eab fa70e06 Author: Marcus Eriksson marc...@spotify.com Authored: Fri Sep 13 09:18:40 2013 +0200 Committer: Marcus Eriksson marc...@spotify.com Committed: Fri Sep 13 09:18:40 2013 +0200 -- CHANGES.txt | 2 ++ src/java/org/apache/cassandra/tools/StandaloneScrubber.java | 9 +++-- 2 files changed, 9 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/cabf0fa3/CHANGES.txt -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/cabf0fa3/src/java/org/apache/cassandra/tools/StandaloneScrubber.java --
[1/2] git commit: Make standalone scrubber handle both old and new style leveled manifest.
Updated Branches: refs/heads/trunk 3634eab1d - cabf0fa32 Make standalone scrubber handle both old and new style leveled manifest. Patch by marcuse, reviewed by jbellis for CASSANDRA-6005 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/fa70e064 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/fa70e064 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/fa70e064 Branch: refs/heads/trunk Commit: fa70e064c41b13c1528359485c0e2bffcf3b23f6 Parents: c788117 Author: Marcus Eriksson marc...@spotify.com Authored: Fri Sep 13 09:15:24 2013 +0200 Committer: Marcus Eriksson marc...@spotify.com Committed: Fri Sep 13 09:18:21 2013 +0200 -- CHANGES.txt | 2 ++ src/java/org/apache/cassandra/tools/StandaloneScrubber.java | 9 +++-- 2 files changed, 9 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/fa70e064/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 053eb70..814029d 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -13,6 +13,8 @@ * Improve native protocol serialization (CASSANDRA-5664) * Upgrade Thrift to 0.9.1 (CASSANDRA-5923) * Require superuser status for adding triggers (CASSANDRA-5963) + * Make standalone scrubber handle old and new style leveled manifest + (CASSANDRA-6005) Merged from 1.2: 1.2.10 * Fix possible divide-by-zero in HHOM (CASSANDRA-5990) http://git-wip-us.apache.org/repos/asf/cassandra/blob/fa70e064/src/java/org/apache/cassandra/tools/StandaloneScrubber.java -- diff --git a/src/java/org/apache/cassandra/tools/StandaloneScrubber.java b/src/java/org/apache/cassandra/tools/StandaloneScrubber.java index 4971bbd..780ff5b 100644 --- a/src/java/org/apache/cassandra/tools/StandaloneScrubber.java +++ b/src/java/org/apache/cassandra/tools/StandaloneScrubber.java @@ -28,6 +28,7 @@ import org.apache.cassandra.config.Schema; import org.apache.cassandra.db.ColumnFamilyStore; import org.apache.cassandra.db.Directories; import org.apache.cassandra.db.Keyspace; +import org.apache.cassandra.db.compaction.LeveledCompactionStrategy; import org.apache.cassandra.db.compaction.LeveledManifest; import org.apache.cassandra.db.compaction.Scrubber; import org.apache.cassandra.io.sstable.*; @@ -97,13 +98,17 @@ public class StandaloneScrubber } System.out.println(String.format(Pre-scrub sstables snapshotted into snapshot %s, snapshotName)); -// If leveled, load the manifest -LeveledManifest manifest = null; +// if old-style json manifest, snapshot it if (cfs.directories.tryGetLeveledManifest() != null) { cfs.directories.snapshotLeveledManifest(snapshotName); System.out.println(String.format(Leveled manifest snapshotted into snapshot %s, snapshotName)); +} +LeveledManifest manifest = null; +// If leveled, load the manifest +if (cfs.getCompactionStrategy() instanceof LeveledCompactionStrategy) +{ int maxSizeInMB = (int)((cfs.getCompactionStrategy().getMaxSSTableSize()) / (1024L * 1024L)); manifest = LeveledManifest.create(cfs, maxSizeInMB, sstables); }
git commit: Remove old json leveled manifest migration code.
Updated Branches: refs/heads/trunk cabf0fa32 - e546e3387 Remove old json leveled manifest migration code. Patch by marcuse, reviewed by jbellis for CASSANDRA-5996 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/e546e338 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/e546e338 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/e546e338 Branch: refs/heads/trunk Commit: e546e33872426be0db084b2eee1f9ffac0994772 Parents: cabf0fa Author: Marcus Eriksson marc...@spotify.com Authored: Fri Sep 13 09:27:44 2013 +0200 Committer: Marcus Eriksson marc...@spotify.com Committed: Fri Sep 13 09:33:19 2013 +0200 -- CHANGES.txt | 2 +- NEWS.txt| 10 ++ .../apache/cassandra/db/ColumnFamilyStore.java | 3 - .../org/apache/cassandra/db/Directories.java| 28 .../db/compaction/LegacyLeveledManifest.java| 141 --- .../db/compaction/LeveledManifest.java | 2 - .../cassandra/service/CassandraDaemon.java | 16 --- .../cassandra/tools/StandaloneScrubber.java | 7 - .../apache/cassandra/db/DirectoriesTest.java| 13 -- .../compaction/LegacyLeveledManifestTest.java | 117 --- .../LegacyLeveledManifestTestHelper.java| 78 -- 11 files changed, 11 insertions(+), 406 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/e546e338/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 27cc64d..71cfc28 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -3,7 +3,7 @@ * 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) 2.0.1 * Improve error message when yaml contains invalid properties (CASSANDRA-5958) http://git-wip-us.apache.org/repos/asf/cassandra/blob/e546e338/NEWS.txt -- diff --git a/NEWS.txt b/NEWS.txt index 4e11bf2..580e149 100644 --- a/NEWS.txt +++ b/NEWS.txt @@ -13,6 +13,16 @@ restore snapshots created with the previous major version using the 'sstableloader' tool. You can upgrade the file format of your snapshots using the provided 'sstableupgrade' tool. +2.1 +=== +Upgrading +- + - Rolling upgrades from anything pre-2.0 is not supported. + - 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. + 2.0.0 = http://git-wip-us.apache.org/repos/asf/cassandra/blob/e546e338/src/java/org/apache/cassandra/db/ColumnFamilyStore.java -- diff --git a/src/java/org/apache/cassandra/db/ColumnFamilyStore.java b/src/java/org/apache/cassandra/db/ColumnFamilyStore.java index a77f449..cd68e96 100644 --- a/src/java/org/apache/cassandra/db/ColumnFamilyStore.java +++ b/src/java/org/apache/cassandra/db/ColumnFamilyStore.java @@ -1734,9 +1734,6 @@ public class ColumnFamilyStore implements ColumnFamilyStoreMBean if (logger.isDebugEnabled()) logger.debug(Snapshot for {} keyspace data file {} created in {}, keyspace, ssTable.getFilename(), snapshotDirectory); } - -if (cfs.compactionStrategy instanceof LeveledCompactionStrategy) -cfs.directories.snapshotLeveledManifest(snapshotName); } finally { http://git-wip-us.apache.org/repos/asf/cassandra/blob/e546e338/src/java/org/apache/cassandra/db/Directories.java -- diff --git a/src/java/org/apache/cassandra/db/Directories.java b/src/java/org/apache/cassandra/db/Directories.java index 5dda2ec..a199fa8 100644 --- a/src/java/org/apache/cassandra/db/Directories.java +++ b/src/java/org/apache/cassandra/db/Directories.java @@ -393,34 +393,6 @@ public class Directories } } -@Deprecated -public File tryGetLeveledManifest() -{ -for (File dir : sstableDirectories) -{ -File manifestFile = new File(dir, cfname + LeveledManifest.EXTENSION); -if (manifestFile.exists()) -{ -logger.debug(Found manifest at {}, manifestFile); -return manifestFile; -} -} -logger.debug(No level manifest found); -return null; -} - -@Deprecated -public void
git commit: Make standalone scrubber handle both old and new style leveled manifest.
Updated Branches: refs/heads/cassandra-2.0 c7881170b - fa70e064c Make standalone scrubber handle both old and new style leveled manifest. Patch by marcuse, reviewed by jbellis for CASSANDRA-6005 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/fa70e064 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/fa70e064 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/fa70e064 Branch: refs/heads/cassandra-2.0 Commit: fa70e064c41b13c1528359485c0e2bffcf3b23f6 Parents: c788117 Author: Marcus Eriksson marc...@spotify.com Authored: Fri Sep 13 09:15:24 2013 +0200 Committer: Marcus Eriksson marc...@spotify.com Committed: Fri Sep 13 09:18:21 2013 +0200 -- CHANGES.txt | 2 ++ src/java/org/apache/cassandra/tools/StandaloneScrubber.java | 9 +++-- 2 files changed, 9 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/fa70e064/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 053eb70..814029d 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -13,6 +13,8 @@ * Improve native protocol serialization (CASSANDRA-5664) * Upgrade Thrift to 0.9.1 (CASSANDRA-5923) * Require superuser status for adding triggers (CASSANDRA-5963) + * Make standalone scrubber handle old and new style leveled manifest + (CASSANDRA-6005) Merged from 1.2: 1.2.10 * Fix possible divide-by-zero in HHOM (CASSANDRA-5990) http://git-wip-us.apache.org/repos/asf/cassandra/blob/fa70e064/src/java/org/apache/cassandra/tools/StandaloneScrubber.java -- diff --git a/src/java/org/apache/cassandra/tools/StandaloneScrubber.java b/src/java/org/apache/cassandra/tools/StandaloneScrubber.java index 4971bbd..780ff5b 100644 --- a/src/java/org/apache/cassandra/tools/StandaloneScrubber.java +++ b/src/java/org/apache/cassandra/tools/StandaloneScrubber.java @@ -28,6 +28,7 @@ import org.apache.cassandra.config.Schema; import org.apache.cassandra.db.ColumnFamilyStore; import org.apache.cassandra.db.Directories; import org.apache.cassandra.db.Keyspace; +import org.apache.cassandra.db.compaction.LeveledCompactionStrategy; import org.apache.cassandra.db.compaction.LeveledManifest; import org.apache.cassandra.db.compaction.Scrubber; import org.apache.cassandra.io.sstable.*; @@ -97,13 +98,17 @@ public class StandaloneScrubber } System.out.println(String.format(Pre-scrub sstables snapshotted into snapshot %s, snapshotName)); -// If leveled, load the manifest -LeveledManifest manifest = null; +// if old-style json manifest, snapshot it if (cfs.directories.tryGetLeveledManifest() != null) { cfs.directories.snapshotLeveledManifest(snapshotName); System.out.println(String.format(Leveled manifest snapshotted into snapshot %s, snapshotName)); +} +LeveledManifest manifest = null; +// If leveled, load the manifest +if (cfs.getCompactionStrategy() instanceof LeveledCompactionStrategy) +{ int maxSizeInMB = (int)((cfs.getCompactionStrategy().getMaxSSTableSize()) / (1024L * 1024L)); manifest = LeveledManifest.create(cfs, maxSizeInMB, sstables); }
git commit: Enable tcp keepalive on incoming connections.
Updated Branches: refs/heads/cassandra-2.0 5817aa95c - 3448ca57f Enable tcp keepalive on incoming connections. Patch by marcuse, reviewed by jbellis for CASSANDRA-4053 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/3448ca57 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/3448ca57 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/3448ca57 Branch: refs/heads/cassandra-2.0 Commit: 3448ca57f3714521b5b7fc88fac43e31d0adcafa Parents: 5817aa9 Author: Marcus Eriksson marc...@spotify.com Authored: Tue Sep 24 09:55:00 2013 +0200 Committer: Marcus Eriksson marc...@spotify.com Committed: Tue Sep 24 09:56:48 2013 +0200 -- CHANGES.txt | 2 +- src/java/org/apache/cassandra/net/MessagingService.java | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/3448ca57/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 43bb25c..1bdb6a8 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -7,7 +7,7 @@ Merged from 1.2: * Do not open non-ssl storage port if encryption option is all (CASSANDRA-3916) * Move batchlog replay to its own executor (CASSANDRA-6079) * Add tombstone debug threshold and histogram (CASSANDRA-6042, 6057) - + * Enable tcp keepalive on incoming connections (CASSANDRA-4053) 2.0.1 * Fix bug that could allow reading deleted data temporarily (CASSANDRA-6025) http://git-wip-us.apache.org/repos/asf/cassandra/blob/3448ca57/src/java/org/apache/cassandra/net/MessagingService.java -- diff --git a/src/java/org/apache/cassandra/net/MessagingService.java b/src/java/org/apache/cassandra/net/MessagingService.java index 792d657..33e3bfb 100644 --- a/src/java/org/apache/cassandra/net/MessagingService.java +++ b/src/java/org/apache/cassandra/net/MessagingService.java @@ -820,6 +820,7 @@ public final class MessagingService implements MessagingServiceMBean Socket socket = server.accept(); if (authenticate(socket)) { +socket.setKeepAlive(true); // determine the connection type to decide whether to buffer DataInputStream in = new DataInputStream(socket.getInputStream()); MessagingService.validateMagic(in.readInt());
[1/2] git commit: Enable tcp keepalive on incoming connections.
Updated Branches: refs/heads/trunk af4799b52 - 08e334649 Enable tcp keepalive on incoming connections. Patch by marcuse, reviewed by jbellis for CASSANDRA-4053 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/3448ca57 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/3448ca57 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/3448ca57 Branch: refs/heads/trunk Commit: 3448ca57f3714521b5b7fc88fac43e31d0adcafa Parents: 5817aa9 Author: Marcus Eriksson marc...@spotify.com Authored: Tue Sep 24 09:55:00 2013 +0200 Committer: Marcus Eriksson marc...@spotify.com Committed: Tue Sep 24 09:56:48 2013 +0200 -- CHANGES.txt | 2 +- src/java/org/apache/cassandra/net/MessagingService.java | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/3448ca57/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 43bb25c..1bdb6a8 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -7,7 +7,7 @@ Merged from 1.2: * Do not open non-ssl storage port if encryption option is all (CASSANDRA-3916) * Move batchlog replay to its own executor (CASSANDRA-6079) * Add tombstone debug threshold and histogram (CASSANDRA-6042, 6057) - + * Enable tcp keepalive on incoming connections (CASSANDRA-4053) 2.0.1 * Fix bug that could allow reading deleted data temporarily (CASSANDRA-6025) http://git-wip-us.apache.org/repos/asf/cassandra/blob/3448ca57/src/java/org/apache/cassandra/net/MessagingService.java -- diff --git a/src/java/org/apache/cassandra/net/MessagingService.java b/src/java/org/apache/cassandra/net/MessagingService.java index 792d657..33e3bfb 100644 --- a/src/java/org/apache/cassandra/net/MessagingService.java +++ b/src/java/org/apache/cassandra/net/MessagingService.java @@ -820,6 +820,7 @@ public final class MessagingService implements MessagingServiceMBean Socket socket = server.accept(); if (authenticate(socket)) { +socket.setKeepAlive(true); // determine the connection type to decide whether to buffer DataInputStream in = new DataInputStream(socket.getInputStream()); MessagingService.validateMagic(in.readInt());
[2/2] git commit: Merge branch 'cassandra-2.0' into trunk
Merge branch 'cassandra-2.0' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/08e33464 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/08e33464 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/08e33464 Branch: refs/heads/trunk Commit: 08e3346494a21688d214f465c7048567a86e5f06 Parents: af4799b 3448ca5 Author: Marcus Eriksson marc...@spotify.com Authored: Tue Sep 24 09:57:39 2013 +0200 Committer: Marcus Eriksson marc...@spotify.com Committed: Tue Sep 24 09:57:39 2013 +0200 -- CHANGES.txt | 2 +- src/java/org/apache/cassandra/net/MessagingService.java | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/08e33464/CHANGES.txt -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/08e33464/src/java/org/apache/cassandra/net/MessagingService.java --
git commit: Create snapshot directory if it does not exist.
Updated Branches: refs/heads/cassandra-2.0 f2eaf9a13 - 102e9119b Create snapshot directory if it does not exist. patch by marcuse, reviewed by jbellis for CASSANDRA-6093 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/102e9119 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/102e9119 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/102e9119 Branch: refs/heads/cassandra-2.0 Commit: 102e9119b8f9cad55ac84bb65cf0d620b3e17533 Parents: f2eaf9a Author: Marcus Eriksson marc...@spotify.com Authored: Wed Sep 25 14:53:30 2013 +0200 Committer: Marcus Eriksson marc...@spotify.com Committed: Wed Sep 25 14:56:05 2013 +0200 -- CHANGES.txt| 2 ++ .../org/apache/cassandra/db/compaction/LegacyLeveledManifest.java | 2 ++ 2 files changed, 4 insertions(+) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/102e9119/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index fe4efc7..c8ca4f5 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -4,6 +4,8 @@ * Fix insertion of collections with CAS (CASSANDRA-6069) * Correctly send metadata on SELECT COUNT (CASSANDRA-6080) * Track clients' remote addresses in ClientState (CASSANDRA-6070) + * Create snapshot dir if it does not exist when migrating + leveled manifest (CASSANDRA-6093) Merged from 1.2: * Allow estimated memtable size to exceed slab allocator size (CASSANDRA-6078) * Start MeteredFlusher earlier to prevent OOM during CL replay (CASSANDRA-6087) http://git-wip-us.apache.org/repos/asf/cassandra/blob/102e9119/src/java/org/apache/cassandra/db/compaction/LegacyLeveledManifest.java -- diff --git a/src/java/org/apache/cassandra/db/compaction/LegacyLeveledManifest.java b/src/java/org/apache/cassandra/db/compaction/LegacyLeveledManifest.java index 645c2be..e10be10 100644 --- a/src/java/org/apache/cassandra/db/compaction/LegacyLeveledManifest.java +++ b/src/java/org/apache/cassandra/db/compaction/LegacyLeveledManifest.java @@ -134,6 +134,8 @@ public class LegacyLeveledManifest if (manifestFile != null) { File snapshotDirectory = new File(new File(manifestFile.getParentFile(), Directories.SNAPSHOT_SUBDIR), snapshotName); +if (!snapshotDirectory.exists()) +snapshotDirectory.mkdirs(); File target = new File(snapshotDirectory, manifestFile.getName()); FileUtils.createHardLink(manifestFile, target); }
[2/2] git commit: Merge branch 'cassandra-2.0' into trunk
Merge branch 'cassandra-2.0' into trunk Conflicts: src/java/org/apache/cassandra/db/compaction/LegacyLeveledManifest.java Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/be236eae Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/be236eae Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/be236eae Branch: refs/heads/trunk Commit: be236eae29f98e14e746cc8d03efd4b41d7fb7d4 Parents: c0d328b 102e911 Author: Marcus Eriksson marc...@spotify.com Authored: Wed Sep 25 14:58:21 2013 +0200 Committer: Marcus Eriksson marc...@spotify.com Committed: Wed Sep 25 14:58:21 2013 +0200 -- CHANGES.txt | 2 ++ 1 file changed, 2 insertions(+) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/be236eae/CHANGES.txt --
[1/2] git commit: Create snapshot directory if it does not exist.
Updated Branches: refs/heads/trunk c0d328bf0 - be236eae2 Create snapshot directory if it does not exist. patch by marcuse, reviewed by jbellis for CASSANDRA-6093 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/102e9119 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/102e9119 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/102e9119 Branch: refs/heads/trunk Commit: 102e9119b8f9cad55ac84bb65cf0d620b3e17533 Parents: f2eaf9a Author: Marcus Eriksson marc...@spotify.com Authored: Wed Sep 25 14:53:30 2013 +0200 Committer: Marcus Eriksson marc...@spotify.com Committed: Wed Sep 25 14:56:05 2013 +0200 -- CHANGES.txt| 2 ++ .../org/apache/cassandra/db/compaction/LegacyLeveledManifest.java | 2 ++ 2 files changed, 4 insertions(+) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/102e9119/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index fe4efc7..c8ca4f5 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -4,6 +4,8 @@ * Fix insertion of collections with CAS (CASSANDRA-6069) * Correctly send metadata on SELECT COUNT (CASSANDRA-6080) * Track clients' remote addresses in ClientState (CASSANDRA-6070) + * Create snapshot dir if it does not exist when migrating + leveled manifest (CASSANDRA-6093) Merged from 1.2: * Allow estimated memtable size to exceed slab allocator size (CASSANDRA-6078) * Start MeteredFlusher earlier to prevent OOM during CL replay (CASSANDRA-6087) http://git-wip-us.apache.org/repos/asf/cassandra/blob/102e9119/src/java/org/apache/cassandra/db/compaction/LegacyLeveledManifest.java -- diff --git a/src/java/org/apache/cassandra/db/compaction/LegacyLeveledManifest.java b/src/java/org/apache/cassandra/db/compaction/LegacyLeveledManifest.java index 645c2be..e10be10 100644 --- a/src/java/org/apache/cassandra/db/compaction/LegacyLeveledManifest.java +++ b/src/java/org/apache/cassandra/db/compaction/LegacyLeveledManifest.java @@ -134,6 +134,8 @@ public class LegacyLeveledManifest if (manifestFile != null) { File snapshotDirectory = new File(new File(manifestFile.getParentFile(), Directories.SNAPSHOT_SUBDIR), snapshotName); +if (!snapshotDirectory.exists()) +snapshotDirectory.mkdirs(); File target = new File(snapshotDirectory, manifestFile.getName()); FileUtils.createHardLink(manifestFile, target); }
git commit: Use Atomic*FieldUpdater to save memory.
Updated Branches: refs/heads/trunk 8165af5db - 7aa3364e0 Use Atomic*FieldUpdater to save memory. Patch by marcuse, reviewed by belliottsmith for CASSANDRA-6281. Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/7aa3364e Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/7aa3364e Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/7aa3364e Branch: refs/heads/trunk Commit: 7aa3364e04b286ac7b41cfadda568df41e4e2821 Parents: 8165af5 Author: Marcus Eriksson marc...@apache.org Authored: Thu Jan 2 21:17:14 2014 +0100 Committer: Marcus Eriksson marc...@apache.org Committed: Thu Jan 2 21:17:14 2014 +0100 -- .../cassandra/db/AtomicSortedColumns.java | 56 ++-- .../service/DatacenterWriteResponseHandler.java | 3 +- .../apache/cassandra/service/ReadCallback.java | 18 --- .../cassandra/service/WriteResponseHandler.java | 12 +++-- 4 files changed, 47 insertions(+), 42 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/7aa3364e/src/java/org/apache/cassandra/db/AtomicSortedColumns.java -- diff --git a/src/java/org/apache/cassandra/db/AtomicSortedColumns.java b/src/java/org/apache/cassandra/db/AtomicSortedColumns.java index 6e4fd01..b1f1e59 100644 --- a/src/java/org/apache/cassandra/db/AtomicSortedColumns.java +++ b/src/java/org/apache/cassandra/db/AtomicSortedColumns.java @@ -18,7 +18,7 @@ package org.apache.cassandra.db; import java.util.*; -import java.util.concurrent.atomic.AtomicReference; +import java.util.concurrent.atomic.AtomicReferenceFieldUpdater; import com.google.common.base.Function; import com.google.common.collect.Iterables; @@ -49,7 +49,9 @@ import org.apache.cassandra.utils.Allocator; */ public class AtomicSortedColumns extends ColumnFamily { -private final AtomicReferenceHolder ref; +private volatile Holder ref; +private static final AtomicReferenceFieldUpdaterAtomicSortedColumns, Holder refUpdater += AtomicReferenceFieldUpdater.newUpdater(AtomicSortedColumns.class, Holder.class, ref); public static final ColumnFamily.FactoryAtomicSortedColumns factory = new FactoryAtomicSortedColumns() { @@ -67,12 +69,12 @@ public class AtomicSortedColumns extends ColumnFamily private AtomicSortedColumns(CFMetaData metadata, Holder holder) { super(metadata); -this.ref = new AtomicReference(holder); +this.ref = holder; } public CellNameType getComparator() { -return (CellNameType)ref.get().map.comparator(); +return (CellNameType)ref.map.comparator(); } public ColumnFamily.Factory getFactory() @@ -82,12 +84,12 @@ public class AtomicSortedColumns extends ColumnFamily public ColumnFamily cloneMe() { -return new AtomicSortedColumns(metadata, ref.get().cloneMe()); +return new AtomicSortedColumns(metadata, ref.cloneMe()); } public DeletionInfo deletionInfo() { -return ref.get().deletionInfo; +return ref.deletionInfo; } public void delete(DeletionTime delTime) @@ -108,29 +110,29 @@ public class AtomicSortedColumns extends ColumnFamily // Keeping deletion info for max markedForDeleteAt value while (true) { -Holder current = ref.get(); +Holder current = ref; DeletionInfo newDelInfo = current.deletionInfo.copy().add(info); -if (ref.compareAndSet(current, current.with(newDelInfo))) +if (refUpdater.compareAndSet(this, current, current.with(newDelInfo))) break; } } public void setDeletionInfo(DeletionInfo newInfo) { -ref.set(ref.get().with(newInfo)); +ref = ref.with(newInfo); } public void purgeTombstones(int gcBefore) { while (true) { -Holder current = ref.get(); +Holder current = ref; if (!current.deletionInfo.hasPurgeableTombstones(gcBefore)) break; DeletionInfo purgedInfo = current.deletionInfo.copy(); purgedInfo.purge(gcBefore); -if (ref.compareAndSet(current, current.with(purgedInfo))) +if (refUpdater.compareAndSet(this, current, current.with(purgedInfo))) break; } } @@ -140,11 +142,11 @@ public class AtomicSortedColumns extends ColumnFamily Holder current, modified; do { -current = ref.get(); +current = ref; modified = current.cloneMe(); modified.addColumn(cell, allocator, SecondaryIndexManager.nullUpdater); } -while (!ref.compareAndSet(current, modified
git commit: Verify that the keyspace exists in describeRing and print nicer error message in BulkLoader.
Updated Branches: refs/heads/cassandra-2.0 95f1b5f29 - ae0a1e0f5 Verify that the keyspace exists in describeRing and print nicer error message in BulkLoader. Patch by marcuse, reviewed by thobbs for CASSANDRA-6529 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/ae0a1e0f Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/ae0a1e0f Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/ae0a1e0f Branch: refs/heads/cassandra-2.0 Commit: ae0a1e0f5a88d66974582f383a942f6bf42b6ac5 Parents: 95f1b5f Author: Marcus Eriksson marc...@apache.org Authored: Tue Jan 7 06:48:08 2014 +0100 Committer: Marcus Eriksson marc...@apache.org Committed: Tue Jan 7 06:48:08 2014 +0100 -- .../apache/cassandra/service/StorageService.java | 3 +++ .../org/apache/cassandra/tools/BulkLoader.java | 17 - 2 files changed, 19 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/ae0a1e0f/src/java/org/apache/cassandra/service/StorageService.java -- diff --git a/src/java/org/apache/cassandra/service/StorageService.java b/src/java/org/apache/cassandra/service/StorageService.java index cca7b00..102e0d8 100644 --- a/src/java/org/apache/cassandra/service/StorageService.java +++ b/src/java/org/apache/cassandra/service/StorageService.java @@ -1178,6 +1178,9 @@ public class StorageService extends NotificationBroadcasterSupport implements IE private ListTokenRange describeRing(String keyspace, boolean includeOnlyLocalDC) throws InvalidRequestException { +if (!Schema.instance.getKeyspaces().contains(keyspace)) +throw new InvalidRequestException(No such keyspace: + keyspace); + if (keyspace == null || Keyspace.open(keyspace).getReplicationStrategy() instanceof LocalStrategy) throw new InvalidRequestException(There is no ring for the keyspace: + keyspace); http://git-wip-us.apache.org/repos/asf/cassandra/blob/ae0a1e0f/src/java/org/apache/cassandra/tools/BulkLoader.java -- diff --git a/src/java/org/apache/cassandra/tools/BulkLoader.java b/src/java/org/apache/cassandra/tools/BulkLoader.java index 15c8df8..4756bd3 100644 --- a/src/java/org/apache/cassandra/tools/BulkLoader.java +++ b/src/java/org/apache/cassandra/tools/BulkLoader.java @@ -76,7 +76,22 @@ public class BulkLoader OutputHandler handler = new OutputHandler.SystemOutput(options.verbose, options.debug); SSTableLoader loader = new SSTableLoader(options.directory, new ExternalClient(options.hosts, options.rpcPort, options.user, options.passwd, options.transportFactory), handler); DatabaseDescriptor.setStreamThroughputOutboundMegabitsPerSec(options.throttle); -StreamResultFuture future = loader.stream(options.ignores); +StreamResultFuture future = null; +try +{ +future = loader.stream(options.ignores); +} +catch (Exception e) +{ +System.err.println(e.getMessage()); +if (e.getCause() != null) +System.err.println(e.getCause()); +if (options.debug) +e.printStackTrace(System.err); +else +System.err.println(Run with --debug to get full stack trace or --help to get help.); +System.exit(1); +} future.addEventListener(new ProgressIndicator()); try {
[2/2] git commit: Merge branch 'cassandra-2.0' into trunk
Merge branch 'cassandra-2.0' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/1dc43bda Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/1dc43bda Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/1dc43bda Branch: refs/heads/trunk Commit: 1dc43bdad2beb52793253c4aacb737c8de74cd4a Parents: 6949880 ae0a1e0 Author: Marcus Eriksson marc...@apache.org Authored: Tue Jan 7 06:50:43 2014 +0100 Committer: Marcus Eriksson marc...@apache.org Committed: Tue Jan 7 06:50:43 2014 +0100 -- .../apache/cassandra/service/StorageService.java | 3 +++ .../org/apache/cassandra/tools/BulkLoader.java | 17 - 2 files changed, 19 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/1dc43bda/src/java/org/apache/cassandra/service/StorageService.java -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/1dc43bda/src/java/org/apache/cassandra/tools/BulkLoader.java --
[1/2] git commit: Verify that the keyspace exists in describeRing and print nicer error message in BulkLoader.
Updated Branches: refs/heads/trunk 694988015 - 1dc43bdad Verify that the keyspace exists in describeRing and print nicer error message in BulkLoader. Patch by marcuse, reviewed by thobbs for CASSANDRA-6529 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/ae0a1e0f Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/ae0a1e0f Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/ae0a1e0f Branch: refs/heads/trunk Commit: ae0a1e0f5a88d66974582f383a942f6bf42b6ac5 Parents: 95f1b5f Author: Marcus Eriksson marc...@apache.org Authored: Tue Jan 7 06:48:08 2014 +0100 Committer: Marcus Eriksson marc...@apache.org Committed: Tue Jan 7 06:48:08 2014 +0100 -- .../apache/cassandra/service/StorageService.java | 3 +++ .../org/apache/cassandra/tools/BulkLoader.java | 17 - 2 files changed, 19 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/ae0a1e0f/src/java/org/apache/cassandra/service/StorageService.java -- diff --git a/src/java/org/apache/cassandra/service/StorageService.java b/src/java/org/apache/cassandra/service/StorageService.java index cca7b00..102e0d8 100644 --- a/src/java/org/apache/cassandra/service/StorageService.java +++ b/src/java/org/apache/cassandra/service/StorageService.java @@ -1178,6 +1178,9 @@ public class StorageService extends NotificationBroadcasterSupport implements IE private ListTokenRange describeRing(String keyspace, boolean includeOnlyLocalDC) throws InvalidRequestException { +if (!Schema.instance.getKeyspaces().contains(keyspace)) +throw new InvalidRequestException(No such keyspace: + keyspace); + if (keyspace == null || Keyspace.open(keyspace).getReplicationStrategy() instanceof LocalStrategy) throw new InvalidRequestException(There is no ring for the keyspace: + keyspace); http://git-wip-us.apache.org/repos/asf/cassandra/blob/ae0a1e0f/src/java/org/apache/cassandra/tools/BulkLoader.java -- diff --git a/src/java/org/apache/cassandra/tools/BulkLoader.java b/src/java/org/apache/cassandra/tools/BulkLoader.java index 15c8df8..4756bd3 100644 --- a/src/java/org/apache/cassandra/tools/BulkLoader.java +++ b/src/java/org/apache/cassandra/tools/BulkLoader.java @@ -76,7 +76,22 @@ public class BulkLoader OutputHandler handler = new OutputHandler.SystemOutput(options.verbose, options.debug); SSTableLoader loader = new SSTableLoader(options.directory, new ExternalClient(options.hosts, options.rpcPort, options.user, options.passwd, options.transportFactory), handler); DatabaseDescriptor.setStreamThroughputOutboundMegabitsPerSec(options.throttle); -StreamResultFuture future = loader.stream(options.ignores); +StreamResultFuture future = null; +try +{ +future = loader.stream(options.ignores); +} +catch (Exception e) +{ +System.err.println(e.getMessage()); +if (e.getCause() != null) +System.err.println(e.getCause()); +if (options.debug) +e.printStackTrace(System.err); +else +System.err.println(Run with --debug to get full stack trace or --help to get help.); +System.exit(1); +} future.addEventListener(new ProgressIndicator()); try {
git commit: Fix test.
Updated Branches: refs/heads/trunk 025b84efd - 1a24611ee Fix test. Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/1a24611e Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/1a24611e Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/1a24611e Branch: refs/heads/trunk Commit: 1a24611ee378e9afaf990230f0eeef038a10f186 Parents: 025b84e Author: Marcus Eriksson marc...@apache.org Authored: Wed Jan 29 11:17:54 2014 +0100 Committer: Marcus Eriksson marc...@apache.org Committed: Wed Jan 29 11:17:54 2014 +0100 -- .../cassandra/service/pager/AbstractQueryPagerTest.java | 9 + 1 file changed, 5 insertions(+), 4 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/1a24611e/test/unit/org/apache/cassandra/service/pager/AbstractQueryPagerTest.java -- diff --git a/test/unit/org/apache/cassandra/service/pager/AbstractQueryPagerTest.java b/test/unit/org/apache/cassandra/service/pager/AbstractQueryPagerTest.java index 5467ec0..9df9f6d 100644 --- a/test/unit/org/apache/cassandra/service/pager/AbstractQueryPagerTest.java +++ b/test/unit/org/apache/cassandra/service/pager/AbstractQueryPagerTest.java @@ -26,6 +26,7 @@ import static org.junit.Assert.*; import org.apache.cassandra.Util; import org.apache.cassandra.config.*; import org.apache.cassandra.db.*; +import org.apache.cassandra.db.composites.CellNames; import org.apache.cassandra.db.filter.ColumnCounter; import org.apache.cassandra.db.marshal.Int32Type; import org.apache.cassandra.utils.ByteBufferUtil; @@ -108,8 +109,8 @@ public class AbstractQueryPagerTest assertEquals(values.length, row.cf.getColumnCount()); int i = 0; -for (Column c : row.cf) -assertEquals(values[i++], i(c.name())); +for (Cell c : row.cf) +assertEquals(values[i++], i(c.name().toByteBuffer())); } private Row createRow(String name, int nbCol) @@ -121,13 +122,13 @@ public class AbstractQueryPagerTest { ColumnFamily cf = TreeMapBackedSortedColumns.factory.create(createMetadata()); for (int i = 0; i nbCol; i++) -cf.addColumn(bb(i), bb(i), 0); +cf.addColumn(CellNames.simpleDense(bb(i)), bb(i), 0); return cf; } private CFMetaData createMetadata() { -return new CFMetaData(ks, cf, ColumnFamilyType.Standard, Int32Type.instance); +return new CFMetaData(ks, cf, ColumnFamilyType.Standard, CellNames.fromAbstractType(Int32Type.instance, false)); } private static ByteBuffer bb(int i)
git commit: 6503 followup, make sure we send CompleteMessage when streaming is done.
Updated Branches: refs/heads/cassandra-2.0 a8a12d9e0 - 1141cdb0c 6503 followup, make sure we send CompleteMessage when streaming is done. Patch by yukim, reviewed by marcuse for CASSANDRA-6503 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/1141cdb0 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/1141cdb0 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/1141cdb0 Branch: refs/heads/cassandra-2.0 Commit: 1141cdb0c8122d3e990f29dc82576bededcbfd40 Parents: a8a12d9 Author: Marcus Eriksson marc...@apache.org Authored: Fri Jan 31 11:55:02 2014 +0100 Committer: Marcus Eriksson marc...@apache.org Committed: Fri Jan 31 11:55:02 2014 +0100 -- .../org/apache/cassandra/streaming/StreamSession.java | 13 - 1 file changed, 12 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/1141cdb0/src/java/org/apache/cassandra/streaming/StreamSession.java -- diff --git a/src/java/org/apache/cassandra/streaming/StreamSession.java b/src/java/org/apache/cassandra/streaming/StreamSession.java index 4777995..7972183 100644 --- a/src/java/org/apache/cassandra/streaming/StreamSession.java +++ b/src/java/org/apache/cassandra/streaming/StreamSession.java @@ -144,6 +144,7 @@ public class StreamSession implements IEndpointStateChangeSubscriber, IFailureDe } private volatile State state = State.INITIALIZED; +private volatile boolean completeSent = false; /** * Create new streaming session with the peer. @@ -505,11 +506,15 @@ public class StreamSession implements IEndpointStateChangeSubscriber, IFailureDe { if (state == State.WAIT_COMPLETE) { +if (!completeSent) +{ +handler.sendMessage(new CompleteMessage()); +completeSent = true; +} closeSession(State.COMPLETE); } else { -handler.sendMessage(new CompleteMessage()); state(State.WAIT_COMPLETE); } } @@ -594,12 +599,18 @@ public class StreamSession implements IEndpointStateChangeSubscriber, IFailureDe { if (state == State.WAIT_COMPLETE) { +if (!completeSent) +{ +handler.sendMessage(new CompleteMessage()); +completeSent = true; +} closeSession(State.COMPLETE); } else { // notify peer that this session is completed handler.sendMessage(new CompleteMessage()); +completeSent = true; state(State.WAIT_COMPLETE); } }
git commit: Update to jamm-0.2.6
Updated Branches: refs/heads/trunk 811de14ec - e5ff1075c Update to jamm-0.2.6 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/e5ff1075 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/e5ff1075 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/e5ff1075 Branch: refs/heads/trunk Commit: e5ff1075c352ea2c1cf8b330b730c111e3f5b5b2 Parents: 811de14 Author: Marcus Eriksson marc...@apache.org Authored: Fri Jan 31 15:46:35 2014 +0100 Committer: Marcus Eriksson marc...@apache.org Committed: Fri Jan 31 15:46:35 2014 +0100 -- bin/cassandra.bat | 2 +- bin/cassandra.in.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/e5ff1075/bin/cassandra.bat -- diff --git a/bin/cassandra.bat b/bin/cassandra.bat index e11c0ba..ddbb45e 100644 --- a/bin/cassandra.bat +++ b/bin/cassandra.bat @@ -30,7 +30,7 @@ if NOT DEFINED JAVA_HOME goto :err REM * JAVA options * set JAVA_OPTS=-ea^ - -javaagent:%CASSANDRA_HOME%\lib\jamm-0.2.5.jar^ + -javaagent:%CASSANDRA_HOME%\lib\jamm-0.2.6.jar^ -Xms1G^ -Xmx1G^ -XX:+HeapDumpOnOutOfMemoryError^ http://git-wip-us.apache.org/repos/asf/cassandra/blob/e5ff1075/bin/cassandra.in.sh -- diff --git a/bin/cassandra.in.sh b/bin/cassandra.in.sh index 29e0d0e..26170ac 100644 --- a/bin/cassandra.in.sh +++ b/bin/cassandra.in.sh @@ -44,5 +44,5 @@ done if [ $JVM_VENDOR != OpenJDK -o $JVM_VERSION \ 1.6.0 ] \ || [ $JVM_VERSION = 1.6.0 -a $JVM_PATCH_VERSION -ge 23 ] then -JAVA_AGENT=$JAVA_AGENT -javaagent:$CASSANDRA_HOME/lib/jamm-0.2.5.jar +JAVA_AGENT=$JAVA_AGENT -javaagent:$CASSANDRA_HOME/lib/jamm-0.2.6.jar fi \ No newline at end of file
[1/2] git commit: Account for range and row tombstones in tombstone drop time histogram.
Updated Branches: refs/heads/trunk 7ce5e062e - 98e6b08c7 Account for range and row tombstones in tombstone drop time histogram. Patch by marcuse, reviewed by jbellis for CASSANDRA-6522 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/9fb44ee5 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/9fb44ee5 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/9fb44ee5 Branch: refs/heads/trunk Commit: 9fb44ee55bd14043f307cc320ecc277010a42953 Parents: e59ef16 Author: Marcus Eriksson marc...@apache.org Authored: Thu Feb 6 08:13:24 2014 +0100 Committer: Marcus Eriksson marc...@apache.org Committed: Thu Feb 6 08:52:07 2014 +0100 -- .../org/apache/cassandra/db/ColumnFamily.java | 10 ++ .../db/compaction/LazilyCompactedRow.java | 10 +- .../cassandra/io/sstable/SSTableWriter.java | 10 ++ .../cassandra/tools/SSTableMetadataViewer.java | 36 ++-- 4 files changed, 54 insertions(+), 12 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/9fb44ee5/src/java/org/apache/cassandra/db/ColumnFamily.java -- diff --git a/src/java/org/apache/cassandra/db/ColumnFamily.java b/src/java/org/apache/cassandra/db/ColumnFamily.java index 2c00071..ec6a395 100644 --- a/src/java/org/apache/cassandra/db/ColumnFamily.java +++ b/src/java/org/apache/cassandra/db/ColumnFamily.java @@ -418,6 +418,16 @@ public abstract class ColumnFamily implements IterableColumn, IRowCacheEntry int maxLocalDeletionTime = Integer.MIN_VALUE; ListByteBuffer minColumnNamesSeen = Collections.emptyList(); ListByteBuffer maxColumnNamesSeen = Collections.emptyList(); + +if (deletionInfo().getTopLevelDeletion().localDeletionTime Integer.MAX_VALUE) + tombstones.update(deletionInfo().getTopLevelDeletion().localDeletionTime); +IteratorRangeTombstone it = deletionInfo().rangeIterator(); +while (it.hasNext()) +{ +RangeTombstone rangeTombstone = it.next(); +tombstones.update(rangeTombstone.getLocalDeletionTime()); +} + for (Column column : this) { minTimestampSeen = Math.min(minTimestampSeen, column.minTimestamp()); http://git-wip-us.apache.org/repos/asf/cassandra/blob/9fb44ee5/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java -- diff --git a/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java b/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java index 998f8cc..e10fb2c 100644 --- a/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java +++ b/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java @@ -275,7 +275,15 @@ public class LazilyCompactedRow extends AbstractCompactedRow implements Iterable indexer.remove(reduced); return null; } - +int localDeletionTime = purged.deletionInfo().getTopLevelDeletion().localDeletionTime; +if (localDeletionTime Integer.MAX_VALUE) +tombstones.update(localDeletionTime); +IteratorRangeTombstone rangeTombstoneIterator = purged.deletionInfo().rangeIterator(); +while (rangeTombstoneIterator.hasNext()) +{ +RangeTombstone rangeTombstone = rangeTombstoneIterator.next(); +tombstones.update(rangeTombstone.getLocalDeletionTime()); +} columns++; minTimestampSeen = Math.min(minTimestampSeen, reduced.minTimestamp()); maxTimestampSeen = Math.max(maxTimestampSeen, reduced.maxTimestamp()); http://git-wip-us.apache.org/repos/asf/cassandra/blob/9fb44ee5/src/java/org/apache/cassandra/io/sstable/SSTableWriter.java -- diff --git a/src/java/org/apache/cassandra/io/sstable/SSTableWriter.java b/src/java/org/apache/cassandra/io/sstable/SSTableWriter.java index 81b3c27..6528ced 100644 --- a/src/java/org/apache/cassandra/io/sstable/SSTableWriter.java +++ b/src/java/org/apache/cassandra/io/sstable/SSTableWriter.java @@ -235,6 +235,16 @@ public class SSTableWriter extends SSTable if (version.hasRowSizeAndColumnCount) columnCount = in.readInt(); +if (cf.deletionInfo().getTopLevelDeletion().localDeletionTime Integer.MAX_VALUE) + tombstones.update(cf.deletionInfo().getTopLevelDeletion().localDeletionTime); + +IteratorRangeTombstone rangeTombstoneIterator = cf.deletionInfo().rangeIterator(); +while (rangeTombstoneIterator.hasNext
git commit: Account for range and row tombstones in tombstone drop time histogram.
Updated Branches: refs/heads/cassandra-2.0 e59ef16bf - 9fb44ee55 Account for range and row tombstones in tombstone drop time histogram. Patch by marcuse, reviewed by jbellis for CASSANDRA-6522 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/9fb44ee5 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/9fb44ee5 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/9fb44ee5 Branch: refs/heads/cassandra-2.0 Commit: 9fb44ee55bd14043f307cc320ecc277010a42953 Parents: e59ef16 Author: Marcus Eriksson marc...@apache.org Authored: Thu Feb 6 08:13:24 2014 +0100 Committer: Marcus Eriksson marc...@apache.org Committed: Thu Feb 6 08:52:07 2014 +0100 -- .../org/apache/cassandra/db/ColumnFamily.java | 10 ++ .../db/compaction/LazilyCompactedRow.java | 10 +- .../cassandra/io/sstable/SSTableWriter.java | 10 ++ .../cassandra/tools/SSTableMetadataViewer.java | 36 ++-- 4 files changed, 54 insertions(+), 12 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/9fb44ee5/src/java/org/apache/cassandra/db/ColumnFamily.java -- diff --git a/src/java/org/apache/cassandra/db/ColumnFamily.java b/src/java/org/apache/cassandra/db/ColumnFamily.java index 2c00071..ec6a395 100644 --- a/src/java/org/apache/cassandra/db/ColumnFamily.java +++ b/src/java/org/apache/cassandra/db/ColumnFamily.java @@ -418,6 +418,16 @@ public abstract class ColumnFamily implements IterableColumn, IRowCacheEntry int maxLocalDeletionTime = Integer.MIN_VALUE; ListByteBuffer minColumnNamesSeen = Collections.emptyList(); ListByteBuffer maxColumnNamesSeen = Collections.emptyList(); + +if (deletionInfo().getTopLevelDeletion().localDeletionTime Integer.MAX_VALUE) + tombstones.update(deletionInfo().getTopLevelDeletion().localDeletionTime); +IteratorRangeTombstone it = deletionInfo().rangeIterator(); +while (it.hasNext()) +{ +RangeTombstone rangeTombstone = it.next(); +tombstones.update(rangeTombstone.getLocalDeletionTime()); +} + for (Column column : this) { minTimestampSeen = Math.min(minTimestampSeen, column.minTimestamp()); http://git-wip-us.apache.org/repos/asf/cassandra/blob/9fb44ee5/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java -- diff --git a/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java b/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java index 998f8cc..e10fb2c 100644 --- a/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java +++ b/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java @@ -275,7 +275,15 @@ public class LazilyCompactedRow extends AbstractCompactedRow implements Iterable indexer.remove(reduced); return null; } - +int localDeletionTime = purged.deletionInfo().getTopLevelDeletion().localDeletionTime; +if (localDeletionTime Integer.MAX_VALUE) +tombstones.update(localDeletionTime); +IteratorRangeTombstone rangeTombstoneIterator = purged.deletionInfo().rangeIterator(); +while (rangeTombstoneIterator.hasNext()) +{ +RangeTombstone rangeTombstone = rangeTombstoneIterator.next(); +tombstones.update(rangeTombstone.getLocalDeletionTime()); +} columns++; minTimestampSeen = Math.min(minTimestampSeen, reduced.minTimestamp()); maxTimestampSeen = Math.max(maxTimestampSeen, reduced.maxTimestamp()); http://git-wip-us.apache.org/repos/asf/cassandra/blob/9fb44ee5/src/java/org/apache/cassandra/io/sstable/SSTableWriter.java -- diff --git a/src/java/org/apache/cassandra/io/sstable/SSTableWriter.java b/src/java/org/apache/cassandra/io/sstable/SSTableWriter.java index 81b3c27..6528ced 100644 --- a/src/java/org/apache/cassandra/io/sstable/SSTableWriter.java +++ b/src/java/org/apache/cassandra/io/sstable/SSTableWriter.java @@ -235,6 +235,16 @@ public class SSTableWriter extends SSTable if (version.hasRowSizeAndColumnCount) columnCount = in.readInt(); +if (cf.deletionInfo().getTopLevelDeletion().localDeletionTime Integer.MAX_VALUE) + tombstones.update(cf.deletionInfo().getTopLevelDeletion().localDeletionTime); + +IteratorRangeTombstone rangeTombstoneIterator = cf.deletionInfo().rangeIterator(); +while
[2/2] git commit: Merge branch 'cassandra-2.0' into trunk
Merge branch 'cassandra-2.0' into trunk Conflicts: src/java/org/apache/cassandra/db/ColumnFamily.java src/java/org/apache/cassandra/tools/SSTableMetadataViewer.java Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/98e6b08c Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/98e6b08c Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/98e6b08c Branch: refs/heads/trunk Commit: 98e6b08c71871666c5d7a206aedaa416ef1cf765 Parents: 7ce5e06 9fb44ee Author: Marcus Eriksson marc...@apache.org Authored: Thu Feb 6 08:57:46 2014 +0100 Committer: Marcus Eriksson marc...@apache.org Committed: Thu Feb 6 08:57:46 2014 +0100 -- .../org/apache/cassandra/db/ColumnFamily.java | 8 +++ .../db/compaction/LazilyCompactedRow.java | 11 .../cassandra/io/sstable/SSTableWriter.java | 10 .../cassandra/tools/SSTableMetadataViewer.java | 60 4 files changed, 66 insertions(+), 23 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/98e6b08c/src/java/org/apache/cassandra/db/ColumnFamily.java -- diff --cc src/java/org/apache/cassandra/db/ColumnFamily.java index 2df3fbf,ec6a395..00f0e35 --- a/src/java/org/apache/cassandra/db/ColumnFamily.java +++ b/src/java/org/apache/cassandra/db/ColumnFamily.java @@@ -423,16 -418,26 +423,24 @@@ public abstract class ColumnFamily impl int maxLocalDeletionTime = Integer.MIN_VALUE; ListByteBuffer minColumnNamesSeen = Collections.emptyList(); ListByteBuffer maxColumnNamesSeen = Collections.emptyList(); - -if (deletionInfo().getTopLevelDeletion().localDeletionTime Integer.MAX_VALUE) - tombstones.update(deletionInfo().getTopLevelDeletion().localDeletionTime); -IteratorRangeTombstone it = deletionInfo().rangeIterator(); -while (it.hasNext()) +for (Cell cell : this) { -RangeTombstone rangeTombstone = it.next(); -tombstones.update(rangeTombstone.getLocalDeletionTime()); -} - -for (Column column : this) -{ -minTimestampSeen = Math.min(minTimestampSeen, column.minTimestamp()); -maxTimestampSeen = Math.max(maxTimestampSeen, column.maxTimestamp()); -maxLocalDeletionTime = Math.max(maxLocalDeletionTime, column.getLocalDeletionTime()); -int deletionTime = column.getLocalDeletionTime(); ++if (deletionInfo().getTopLevelDeletion().localDeletionTime Integer.MAX_VALUE) ++ tombstones.update(deletionInfo().getTopLevelDeletion().localDeletionTime); ++IteratorRangeTombstone it = deletionInfo().rangeIterator(); ++while (it.hasNext()) ++{ ++RangeTombstone rangeTombstone = it.next(); ++tombstones.update(rangeTombstone.getLocalDeletionTime()); ++} +minTimestampSeen = Math.min(minTimestampSeen, cell.minTimestamp()); +maxTimestampSeen = Math.max(maxTimestampSeen, cell.maxTimestamp()); +maxLocalDeletionTime = Math.max(maxLocalDeletionTime, cell.getLocalDeletionTime()); +int deletionTime = cell.getLocalDeletionTime(); if (deletionTime Integer.MAX_VALUE) tombstones.update(deletionTime); -minColumnNamesSeen = ColumnNameHelper.minComponents(minColumnNamesSeen, column.name, metadata.comparator); -maxColumnNamesSeen = ColumnNameHelper.maxComponents(maxColumnNamesSeen, column.name, metadata.comparator); +minColumnNamesSeen = ColumnNameHelper.minComponents(minColumnNamesSeen, cell.name, metadata.comparator); +maxColumnNamesSeen = ColumnNameHelper.maxComponents(maxColumnNamesSeen, cell.name, metadata.comparator); } return new ColumnStats(getColumnCount(), minTimestampSeen, maxTimestampSeen, maxLocalDeletionTime, tombstones, minColumnNamesSeen, maxColumnNamesSeen); } http://git-wip-us.apache.org/repos/asf/cassandra/blob/98e6b08c/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java -- diff --cc src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java index 02901a3,e10fb2c..89181e6 --- a/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java +++ b/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java @@@ -261,17 -265,25 +261,28 @@@ public class LazilyCompactedRow extend container.clear(); return null; } -Column reduced = purged.iterator().next(); -container.clear(); + -
[1/2] Make it possible to cache a configurable amount of rows in row cache.
Updated Branches: refs/heads/trunk 98e6b08c7 - ab6eaed8f http://git-wip-us.apache.org/repos/asf/cassandra/blob/ab6eaed8/src/java/org/apache/cassandra/db/filter/SliceQueryFilter.java -- diff --git a/src/java/org/apache/cassandra/db/filter/SliceQueryFilter.java b/src/java/org/apache/cassandra/db/filter/SliceQueryFilter.java index 300a21d..26f6d9d 100644 --- a/src/java/org/apache/cassandra/db/filter/SliceQueryFilter.java +++ b/src/java/org/apache/cassandra/db/filter/SliceQueryFilter.java @@ -31,6 +31,7 @@ import org.apache.cassandra.db.*; import org.apache.cassandra.db.columniterator.OnDiskAtomIterator; import org.apache.cassandra.db.columniterator.SSTableSliceIterator; import org.apache.cassandra.db.composites.CType; +import org.apache.cassandra.db.composites.CellName; import org.apache.cassandra.db.composites.CellNameType; import org.apache.cassandra.db.composites.Composite; import org.apache.cassandra.io.IVersionedSerializer; @@ -340,6 +341,41 @@ public class SliceQueryFilter implements IDiskAtomFilter return false; } +public boolean isHeadFilter() +{ +return slices.length == 1 slices[0].start.isEmpty() !reversed; +} + +public boolean countCQL3Rows(CellNameType comparator) +{ +// If comparator is dense a cell == a CQL3 rows so we're always counting CQL3 rows +// in particular. Otherwise, we do so only if we group the cells into CQL rows. +return comparator.isDense() || compositesToGroup = 0; +} + +public boolean isFullyCoveredBy(ColumnFamily cf, long now) +{ +// cf is the beginning of a partition. It covers this filter if: +// 1) either this filter requests the head of the partition and request less +// than what cf has to offer (note: we do need to use getLiveCount() for that +// as it knows if the filter count cells or CQL3 rows). +// 2) the start and finish bound of this filter are included in cf. +if (isHeadFilter() count = getLiveCount(cf, now)) +return true; + +if (start().isEmpty() || finish().isEmpty() || cf.getColumnCount() == 0) +return false; + +Composite low = isReversed() ? finish() : start(); +Composite high = isReversed() ? start() : finish(); + +CellName first = cf.iterator(ColumnSlice.ALL_COLUMNS_ARRAY).next().name(); +CellName last = cf.reverseIterator(ColumnSlice.ALL_COLUMNS_ARRAY).next().name(); + +return cf.getComparator().compare(first, low) = 0 + cf.getComparator().compare(high, last) = 0; +} + public static class Serializer implements IVersionedSerializerSliceQueryFilter { private CType type; http://git-wip-us.apache.org/repos/asf/cassandra/blob/ab6eaed8/src/java/org/apache/cassandra/metrics/ColumnFamilyMetrics.java -- diff --git a/src/java/org/apache/cassandra/metrics/ColumnFamilyMetrics.java b/src/java/org/apache/cassandra/metrics/ColumnFamilyMetrics.java index f6e3030..b414628 100644 --- a/src/java/org/apache/cassandra/metrics/ColumnFamilyMetrics.java +++ b/src/java/org/apache/cassandra/metrics/ColumnFamilyMetrics.java @@ -89,6 +89,12 @@ public class ColumnFamilyMetrics public final Histogram liveScannedHistogram; /** Disk space used by snapshot files which */ public final GaugeLong trueSnapshotsSize; +/** Row cache hits, but result out of range */ +public final Counter rowCacheHitOutOfRange; +/** Number of row cache hits */ +public final Counter rowCacheHit; +/** Number of row cache misses */ +public final Counter rowCacheMiss; public final Timer coordinatorReadLatency; public final Timer coordinatorScanLatency; @@ -104,6 +110,7 @@ public class ColumnFamilyMetrics @Deprecated public final EstimatedHistogram sstablesPerRead = new EstimatedHistogram(35); @Deprecated public final EstimatedHistogram recentSSTablesPerRead = new EstimatedHistogram(35); + /** * Creates metrics for given {@link ColumnFamilyStore}. * @@ -347,6 +354,9 @@ public class ColumnFamilyMetrics return cfs.trueSnapshotsSize(); } }); +rowCacheHitOutOfRange = Metrics.newCounter(factory.createMetricName(RowCacheHitOutOfRange)); +rowCacheHit = Metrics.newCounter(factory.createMetricName(RowCacheHit)); +rowCacheMiss = Metrics.newCounter(factory.createMetricName(RowCacheMiss)); } public void updateSSTableIterated(int count) @@ -390,6 +400,9 @@ public class ColumnFamilyMetrics Metrics.defaultRegistry().removeMetric(factory.createMetricName(CoordinatorReadLatency)); Metrics.defaultRegistry().removeMetric(factory.createMetricName(CoordinatorScanLatency)); Metrics.defaultRegistry().removeMetric(factory.createMetricName(SnapshotsSize));
git commit: Update CHANGES for CASSANDRA-6522
Updated Branches: refs/heads/cassandra-2.0 862698cd5 - 933df01d2 Update CHANGES for CASSANDRA-6522 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/933df01d Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/933df01d Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/933df01d Branch: refs/heads/cassandra-2.0 Commit: 933df01d2b64ecf3698e171017e37d67546acfb7 Parents: 862698c Author: Marcus Eriksson marc...@apache.org Authored: Thu Feb 6 17:58:36 2014 +0100 Committer: Marcus Eriksson marc...@apache.org Committed: Thu Feb 6 17:58:36 2014 +0100 -- CHANGES.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/933df01d/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 58d3f90..8148083 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -6,7 +6,8 @@ Merged from 1.2: * Fix upgradesstables NPE for non-CF-based indexes (CASSANDRA-6645) * Fix partition and range deletes not triggering flush (CASSANDRA-6655) - + * Account for range/row tombstones in tombstone drop + time histogram (CASSANDRA-6522) 2.0.5 * Reduce garbage generated by bloom filter lookups (CASSANDRA-6609)
[4/4] git commit: Update CHANGES after CASSANDRA-5357
Update CHANGES after CASSANDRA-5357 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/300b0263 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/300b0263 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/300b0263 Branch: refs/heads/trunk Commit: 300b02633e79f8e786a8a1f3ee1425d726c74663 Parents: 0b56fc0 Author: Marcus Eriksson marc...@apache.org Authored: Thu Feb 6 18:00:30 2014 +0100 Committer: Marcus Eriksson marc...@apache.org Committed: Thu Feb 6 18:00:30 2014 +0100 -- CHANGES.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/300b0263/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 1edbe0a..9d752ee 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -26,7 +26,7 @@ uniquely for CF id (CASSANDRA-5202) * New counters implementation (CASSANDRA-6504) * Replace UnsortedColumns usage with ArrayBackedSortedColumns (CASSANDRA-6630) - + * Add option to use row cache with a given amount of rows (CASSANDRA-5357) 2.0.6 * Fix upgradesstables NPE for non-CF-based indexes (CASSANDRA-6645)
[3/4] git commit: Merge branch 'cassandra-2.0' into trunk
Merge branch 'cassandra-2.0' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/0b56fc09 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/0b56fc09 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/0b56fc09 Branch: refs/heads/trunk Commit: 0b56fc0987d250f02c6d03e27c1ae68e8e1a27a9 Parents: b4cd7b5 933df01 Author: Marcus Eriksson marc...@apache.org Authored: Thu Feb 6 17:58:55 2014 +0100 Committer: Marcus Eriksson marc...@apache.org Committed: Thu Feb 6 17:58:55 2014 +0100 -- CHANGES.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/0b56fc09/CHANGES.txt --
[2/4] git commit: Update CHANGES for CASSANDRA-6522
Update CHANGES for CASSANDRA-6522 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/933df01d Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/933df01d Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/933df01d Branch: refs/heads/trunk Commit: 933df01d2b64ecf3698e171017e37d67546acfb7 Parents: 862698c Author: Marcus Eriksson marc...@apache.org Authored: Thu Feb 6 17:58:36 2014 +0100 Committer: Marcus Eriksson marc...@apache.org Committed: Thu Feb 6 17:58:36 2014 +0100 -- CHANGES.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/933df01d/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 58d3f90..8148083 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -6,7 +6,8 @@ Merged from 1.2: * Fix upgradesstables NPE for non-CF-based indexes (CASSANDRA-6645) * Fix partition and range deletes not triggering flush (CASSANDRA-6655) - + * Account for range/row tombstones in tombstone drop + time histogram (CASSANDRA-6522) 2.0.5 * Reduce garbage generated by bloom filter lookups (CASSANDRA-6609)
[2/2] git commit: Merge branch 'cassandra-2.0' into trunk
Merge branch 'cassandra-2.0' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/ca00f622 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/ca00f622 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/ca00f622 Branch: refs/heads/trunk Commit: ca00f622a5dcf899271d80076066ace3949a7e73 Parents: 300b026 2103646 Author: Marcus Eriksson marc...@apache.org Authored: Thu Feb 6 18:05:46 2014 +0100 Committer: Marcus Eriksson marc...@apache.org Committed: Thu Feb 6 18:05:46 2014 +0100 -- CHANGES.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/ca00f622/CHANGES.txt --
[1/2] git commit: nope 6522 was not merged from 1.2
Updated Branches: refs/heads/trunk 300b02633 - ca00f622a nope 6522 was not merged from 1.2 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/21036468 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/21036468 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/21036468 Branch: refs/heads/trunk Commit: 21036468c5304a5aac45a0f4f7db2580e4c91e24 Parents: 933df01 Author: Marcus Eriksson marc...@apache.org Authored: Thu Feb 6 18:05:39 2014 +0100 Committer: Marcus Eriksson marc...@apache.org Committed: Thu Feb 6 18:05:39 2014 +0100 -- CHANGES.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/21036468/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 8148083..ceb25c3 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -3,11 +3,11 @@ * Improve nodetool cfhistograms formatting (CASSANDRA-6360) * Expose bulk loading progress over JMX (CASSANDRA-4757) * Correctly handle null with IF conditions and TTL (CASSANDRA-6623) + * Account for range/row tombstones in tombstone drop + time histogram (CASSANDRA-6522) Merged from 1.2: * Fix upgradesstables NPE for non-CF-based indexes (CASSANDRA-6645) * Fix partition and range deletes not triggering flush (CASSANDRA-6655) - * Account for range/row tombstones in tombstone drop - time histogram (CASSANDRA-6522) 2.0.5 * Reduce garbage generated by bloom filter lookups (CASSANDRA-6609)
git commit: nope 6522 was not merged from 1.2
Updated Branches: refs/heads/cassandra-2.0 933df01d2 - 21036468c nope 6522 was not merged from 1.2 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/21036468 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/21036468 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/21036468 Branch: refs/heads/cassandra-2.0 Commit: 21036468c5304a5aac45a0f4f7db2580e4c91e24 Parents: 933df01 Author: Marcus Eriksson marc...@apache.org Authored: Thu Feb 6 18:05:39 2014 +0100 Committer: Marcus Eriksson marc...@apache.org Committed: Thu Feb 6 18:05:39 2014 +0100 -- CHANGES.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/21036468/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 8148083..ceb25c3 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -3,11 +3,11 @@ * Improve nodetool cfhistograms formatting (CASSANDRA-6360) * Expose bulk loading progress over JMX (CASSANDRA-4757) * Correctly handle null with IF conditions and TTL (CASSANDRA-6623) + * Account for range/row tombstones in tombstone drop + time histogram (CASSANDRA-6522) Merged from 1.2: * Fix upgradesstables NPE for non-CF-based indexes (CASSANDRA-6645) * Fix partition and range deletes not triggering flush (CASSANDRA-6655) - * Account for range/row tombstones in tombstone drop - time histogram (CASSANDRA-6522) 2.0.5 * Reduce garbage generated by bloom filter lookups (CASSANDRA-6609)
[1/3] Avoid repairing already repaired data.
Updated Branches: refs/heads/trunk bcfaeaa9c - a7b72140b http://git-wip-us.apache.org/repos/asf/cassandra/blob/a7b72140/test/unit/org/apache/cassandra/db/compaction/LeveledCompactionStrategyTest.java -- diff --git a/test/unit/org/apache/cassandra/db/compaction/LeveledCompactionStrategyTest.java b/test/unit/org/apache/cassandra/db/compaction/LeveledCompactionStrategyTest.java index 38c6d56..8eb9199 100644 --- a/test/unit/org/apache/cassandra/db/compaction/LeveledCompactionStrategyTest.java +++ b/test/unit/org/apache/cassandra/db/compaction/LeveledCompactionStrategyTest.java @@ -24,6 +24,8 @@ import java.util.List; import java.util.concurrent.ExecutionException; import java.util.UUID; +import org.junit.After; +import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; @@ -36,25 +38,42 @@ import org.apache.cassandra.dht.Token; import org.apache.cassandra.io.sstable.SSTableReader; import org.apache.cassandra.repair.RepairJobDesc; import org.apache.cassandra.repair.Validator; +import org.apache.cassandra.service.ActiveRepairService; import org.apache.cassandra.utils.FBUtilities; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; @RunWith(OrderedJUnit4ClassRunner.class) public class LeveledCompactionStrategyTest extends SchemaLoader { +private String ksname = Keyspace1; +private String cfname = StandardLeveled; +private Keyspace keyspace = Keyspace.open(ksname); +private ColumnFamilyStore cfs = keyspace.getColumnFamilyStore(cfname); + +@Before +public void enableCompaction() +{ +cfs.enableAutoCompaction(); +} + +/** + * Since we use StandardLeveled CF for every test, we want to clean up after the test. + */ +@After +public void truncateSTandardLeveled() +{ +cfs.truncateBlocking(); +} + /* * This exercises in particular the code of #4142 */ @Test public void testValidationMultipleSSTablePerLevel() throws Exception { -String ksname = Keyspace1; -String cfname = StandardLeveled; -Keyspace keyspace = Keyspace.open(ksname); -ColumnFamilyStore cfs = keyspace.getColumnFamilyStore(cfname); - ByteBuffer value = ByteBuffer.wrap(new byte[100 * 1024]); // 100 KB value, make it easy to have multiple files // Enough data to have a level 1 and 2 @@ -80,9 +99,11 @@ public class LeveledCompactionStrategyTest extends SchemaLoader assert strategy.getLevelSize(1) 0; assert strategy.getLevelSize(2) 0; -RangeToken range = new RangeToken(Util.token(), Util.token()); +RangeToken range = new Range(Util.token(), Util.token()); int gcBefore = keyspace.getColumnFamilyStore(cfname).gcBefore(System.currentTimeMillis()); -RepairJobDesc desc = new RepairJobDesc(UUID.randomUUID(), ksname, cfname, range); +UUID parentRepSession = UUID.randomUUID(); + ActiveRepairService.instance.registerParentRepairSession(parentRepSession, Arrays.asList(cfs), Arrays.asList(range)); +RepairJobDesc desc = new RepairJobDesc(parentRepSession, UUID.randomUUID(), ksname, cfname, range); Validator validator = new Validator(desc, FBUtilities.getBroadcastAddress(), gcBefore); CompactionManager.instance.submitValidation(cfs, validator).get(); } @@ -101,11 +122,6 @@ public class LeveledCompactionStrategyTest extends SchemaLoader @Test public void testCompactionProgress() throws Exception { -String ksname = Keyspace1; -String cfname = StandardLeveled; -Keyspace keyspace = Keyspace.open(ksname); -ColumnFamilyStore cfs = keyspace.getColumnFamilyStore(cfname); - // make sure we have SSTables in L1 ByteBuffer value = ByteBuffer.wrap(new byte[100 * 1024]); int rows = 2; @@ -142,11 +158,6 @@ public class LeveledCompactionStrategyTest extends SchemaLoader @Test public void testMutateLevel() throws Exception { -String ksname = Keyspace1; -String cfname = StandardLeveled; -Keyspace keyspace = Keyspace.open(ksname); -ColumnFamilyStore cfs = keyspace.getColumnFamilyStore(cfname); - ByteBuffer value = ByteBuffer.wrap(new byte[100 * 1024]); // 100 KB value, make it easy to have multiple files // Enough data to have a level 1 and 2 @@ -189,4 +200,89 @@ public class LeveledCompactionStrategyTest extends SchemaLoader // verify that the manifest has correct amount of sstables assertEquals(cfs.getSSTables().size(), levels[6]); } + +@Test +public void testNewRepairedSSTable() throws Exception +{ +ByteBuffer value = ByteBuffer.wrap(new byte[100 * 1024]); // 100 KB value, make it easy to have multiple files + +// Enough data to have a
git commit: Add missing files
Updated Branches: refs/heads/trunk a7b72140b - b75ed1c34 Add missing files Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/b75ed1c3 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/b75ed1c3 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/b75ed1c3 Branch: refs/heads/trunk Commit: b75ed1c34b11bfbe7cbb3af72e08d5f9843c2dbe Parents: a7b7214 Author: Marcus Eriksson marc...@apache.org Authored: Sat Feb 8 13:22:13 2014 +0100 Committer: Marcus Eriksson marc...@apache.org Committed: Sat Feb 8 13:22:13 2014 +0100 -- .../SSTableRepairStatusChanged.java | 15 +++ .../repair/messages/AnticompactionRequest.java | 64 .../repair/messages/PrepareMessage.java | 101 +++ .../tools/SSTableRepairedAtSetter.java | 92 + .../serialization/2.1/db.RangeSliceCommand.bin | Bin 0 - 801 bytes .../2.1/db.SliceByNamesReadCommand.bin | Bin 0 - 485 bytes .../2.1/db.SliceFromReadCommand.bin | Bin 0 - 485 bytes test/data/serialization/2.1/db.Truncation.bin | Bin 0 - 257 bytes .../data/serialization/2.1/db.WriteResponse.bin | 0 .../serialization/2.1/gms.EndpointState.bin | Bin 0 - 73 bytes test/data/serialization/2.1/gms.Gossip.bin | Bin 0 - 158 bytes .../serialization/2.1/service.SyncComplete.bin | Bin 0 - 358 bytes .../serialization/2.1/service.SyncRequest.bin | Bin 0 - 223 bytes .../2.1/service.ValidationComplete.bin | Bin 0 - 1381 bytes .../2.1/service.ValidationRequest.bin | Bin 0 - 165 bytes .../serialization/2.1/utils.BloomFilter.bin | Bin 0 - 2500016 bytes .../2.1/utils.EstimatedHistogram.bin| Bin 0 - 97500 bytes .../db/compaction/AntiCompactionTest.java | 100 ++ 18 files changed, 372 insertions(+) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/b75ed1c3/src/java/org/apache/cassandra/notifications/SSTableRepairStatusChanged.java -- diff --git a/src/java/org/apache/cassandra/notifications/SSTableRepairStatusChanged.java b/src/java/org/apache/cassandra/notifications/SSTableRepairStatusChanged.java new file mode 100644 index 000..084599e --- /dev/null +++ b/src/java/org/apache/cassandra/notifications/SSTableRepairStatusChanged.java @@ -0,0 +1,15 @@ +package org.apache.cassandra.notifications; + +import java.util.Collection; + +import org.apache.cassandra.io.sstable.SSTableReader; + +public class SSTableRepairStatusChanged implements INotification +{ +public final CollectionSSTableReader sstable; + +public SSTableRepairStatusChanged(CollectionSSTableReader repairStatusChanged) +{ +this.sstable = repairStatusChanged; +} +} http://git-wip-us.apache.org/repos/asf/cassandra/blob/b75ed1c3/src/java/org/apache/cassandra/repair/messages/AnticompactionRequest.java -- diff --git a/src/java/org/apache/cassandra/repair/messages/AnticompactionRequest.java b/src/java/org/apache/cassandra/repair/messages/AnticompactionRequest.java new file mode 100644 index 000..daa49f0 --- /dev/null +++ b/src/java/org/apache/cassandra/repair/messages/AnticompactionRequest.java @@ -0,0 +1,64 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * License); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.cassandra.repair.messages; + +import java.io.DataInput; +import java.io.DataOutput; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; +import java.util.UUID; + +import org.apache.cassandra.db.TypeSizes; +import org.apache.cassandra.dht.AbstractBounds; +import org.apache.cassandra.dht.Range; +import org.apache.cassandra.dht.Token; +import org.apache.cassandra.repair.RepairJobDesc; +import org.apache.cassandra.utils.UUIDSerializer; + +public class AnticompactionRequest extends RepairMessage +{ +public static MessageSerializer serializer = new AnticompactionRequestSerializer(); +
[1/2] git commit: Fix CleanupTest
Updated Branches: refs/heads/cassandra-2.0 b5321d50b - 9a6ae96af Fix CleanupTest patch by marcuse, reviewed by jbellis for CASSANDRA-6679 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/4b83a6f9 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/4b83a6f9 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/4b83a6f9 Branch: refs/heads/cassandra-2.0 Commit: 4b83a6f9d9c00fe662ddb9db4533df8b9b96883d Parents: 887558f Author: Marcus Eriksson marc...@apache.org Authored: Mon Feb 10 18:32:06 2014 +0100 Committer: Marcus Eriksson marc...@apache.org Committed: Mon Feb 10 18:32:06 2014 +0100 -- test/unit/org/apache/cassandra/db/CleanupTest.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/4b83a6f9/test/unit/org/apache/cassandra/db/CleanupTest.java -- diff --git a/test/unit/org/apache/cassandra/db/CleanupTest.java b/test/unit/org/apache/cassandra/db/CleanupTest.java index 5872407..d5c2b07 100644 --- a/test/unit/org/apache/cassandra/db/CleanupTest.java +++ b/test/unit/org/apache/cassandra/db/CleanupTest.java @@ -64,8 +64,7 @@ public class CleanupTest extends SchemaLoader @Test public void testCleanup() throws IOException, ExecutionException, InterruptedException, ConfigurationException { -StorageService.instance.initServer(0); - +StorageService.instance.getTokenMetadata().clearUnsafe(); Table table = Table.open(TABLE1); ColumnFamilyStore cfs = table.getColumnFamilyStore(CF2);
[3/3] git commit: Merge branch 'cassandra-2.0' into trunk
Merge branch 'cassandra-2.0' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/503a8a86 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/503a8a86 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/503a8a86 Branch: refs/heads/trunk Commit: 503a8a865ed60b08e6c512c206a295a6a78f2848 Parents: 861d996 9a6ae96 Author: Marcus Eriksson marc...@apache.org Authored: Mon Feb 10 18:35:41 2014 +0100 Committer: Marcus Eriksson marc...@apache.org Committed: Mon Feb 10 18:35:41 2014 +0100 -- test/unit/org/apache/cassandra/db/CleanupTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/503a8a86/test/unit/org/apache/cassandra/db/CleanupTest.java --
git commit: Fix CleanupTest
Updated Branches: refs/heads/cassandra-1.2 c5627008a - 1b8b7b540 Fix CleanupTest patch by marcuse, reviewed by jbellis for CASSANDRA-6679 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/1b8b7b54 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/1b8b7b54 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/1b8b7b54 Branch: refs/heads/cassandra-1.2 Commit: 1b8b7b54087dd2dc2aeb2b9a0b06fbb4f13030be Parents: c562700 Author: Marcus Eriksson marc...@apache.org Authored: Mon Feb 10 18:32:06 2014 +0100 Committer: Marcus Eriksson marc...@apache.org Committed: Mon Feb 10 18:36:28 2014 +0100 -- test/unit/org/apache/cassandra/db/CleanupTest.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/1b8b7b54/test/unit/org/apache/cassandra/db/CleanupTest.java -- diff --git a/test/unit/org/apache/cassandra/db/CleanupTest.java b/test/unit/org/apache/cassandra/db/CleanupTest.java index 5872407..d5c2b07 100644 --- a/test/unit/org/apache/cassandra/db/CleanupTest.java +++ b/test/unit/org/apache/cassandra/db/CleanupTest.java @@ -64,8 +64,7 @@ public class CleanupTest extends SchemaLoader @Test public void testCleanup() throws IOException, ExecutionException, InterruptedException, ConfigurationException { -StorageService.instance.initServer(0); - +StorageService.instance.getTokenMetadata().clearUnsafe(); Table table = Table.open(TABLE1); ColumnFamilyStore cfs = table.getColumnFamilyStore(CF2);
[2/3] git commit: Merge branch 'cassandra-1.2' into cassandra-2.0
Merge branch 'cassandra-1.2' into cassandra-2.0 Conflicts: test/unit/org/apache/cassandra/db/CleanupTest.java Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/9a6ae96a Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/9a6ae96a Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/9a6ae96a Branch: refs/heads/trunk Commit: 9a6ae96af725e307d05332554f221c97e10647d1 Parents: b5321d5 4b83a6f Author: Marcus Eriksson marc...@apache.org Authored: Mon Feb 10 18:34:43 2014 +0100 Committer: Marcus Eriksson marc...@apache.org Committed: Mon Feb 10 18:34:43 2014 +0100 -- test/unit/org/apache/cassandra/db/CleanupTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/9a6ae96a/test/unit/org/apache/cassandra/db/CleanupTest.java -- diff --cc test/unit/org/apache/cassandra/db/CleanupTest.java index 562df1e,d5c2b07..9914c90 --- a/test/unit/org/apache/cassandra/db/CleanupTest.java +++ b/test/unit/org/apache/cassandra/db/CleanupTest.java @@@ -64,10 -64,9 +64,10 @@@ public class CleanupTest extends Schema @Test public void testCleanup() throws IOException, ExecutionException, InterruptedException, ConfigurationException { - StorageService.instance.initServer(0); + StorageService.instance.getTokenMetadata().clearUnsafe(); -Table table = Table.open(TABLE1); -ColumnFamilyStore cfs = table.getColumnFamilyStore(CF2); + +Keyspace keyspace = Keyspace.open(KEYSPACE1); +ColumnFamilyStore cfs = keyspace.getColumnFamilyStore(CF2); ListRow rows;
[1/3] git commit: Fix CleanupTest
Updated Branches: refs/heads/trunk 861d9960d - 503a8a865 Fix CleanupTest patch by marcuse, reviewed by jbellis for CASSANDRA-6679 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/4b83a6f9 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/4b83a6f9 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/4b83a6f9 Branch: refs/heads/trunk Commit: 4b83a6f9d9c00fe662ddb9db4533df8b9b96883d Parents: 887558f Author: Marcus Eriksson marc...@apache.org Authored: Mon Feb 10 18:32:06 2014 +0100 Committer: Marcus Eriksson marc...@apache.org Committed: Mon Feb 10 18:32:06 2014 +0100 -- test/unit/org/apache/cassandra/db/CleanupTest.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/4b83a6f9/test/unit/org/apache/cassandra/db/CleanupTest.java -- diff --git a/test/unit/org/apache/cassandra/db/CleanupTest.java b/test/unit/org/apache/cassandra/db/CleanupTest.java index 5872407..d5c2b07 100644 --- a/test/unit/org/apache/cassandra/db/CleanupTest.java +++ b/test/unit/org/apache/cassandra/db/CleanupTest.java @@ -64,8 +64,7 @@ public class CleanupTest extends SchemaLoader @Test public void testCleanup() throws IOException, ExecutionException, InterruptedException, ConfigurationException { -StorageService.instance.initServer(0); - +StorageService.instance.getTokenMetadata().clearUnsafe(); Table table = Table.open(TABLE1); ColumnFamilyStore cfs = table.getColumnFamilyStore(CF2);
[2/2] git commit: Merge branch 'cassandra-1.2' into cassandra-2.0
Merge branch 'cassandra-1.2' into cassandra-2.0 Conflicts: test/unit/org/apache/cassandra/db/CleanupTest.java Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/9a6ae96a Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/9a6ae96a Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/9a6ae96a Branch: refs/heads/cassandra-2.0 Commit: 9a6ae96af725e307d05332554f221c97e10647d1 Parents: b5321d5 4b83a6f Author: Marcus Eriksson marc...@apache.org Authored: Mon Feb 10 18:34:43 2014 +0100 Committer: Marcus Eriksson marc...@apache.org Committed: Mon Feb 10 18:34:43 2014 +0100 -- test/unit/org/apache/cassandra/db/CleanupTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/9a6ae96a/test/unit/org/apache/cassandra/db/CleanupTest.java -- diff --cc test/unit/org/apache/cassandra/db/CleanupTest.java index 562df1e,d5c2b07..9914c90 --- a/test/unit/org/apache/cassandra/db/CleanupTest.java +++ b/test/unit/org/apache/cassandra/db/CleanupTest.java @@@ -64,10 -64,9 +64,10 @@@ public class CleanupTest extends Schema @Test public void testCleanup() throws IOException, ExecutionException, InterruptedException, ConfigurationException { - StorageService.instance.initServer(0); + StorageService.instance.getTokenMetadata().clearUnsafe(); -Table table = Table.open(TABLE1); -ColumnFamilyStore cfs = table.getColumnFamilyStore(CF2); + +Keyspace keyspace = Keyspace.open(KEYSPACE1); +ColumnFamilyStore cfs = keyspace.getColumnFamilyStore(CF2); ListRow rows;
[1/2] git commit: Stop CommitLogSegment.close() from unnecessarily calling sync() prior to cleaning the buffer.
Updated Branches: refs/heads/trunk f05870ee8 - 7604935ef Stop CommitLogSegment.close() from unnecessarily calling sync() prior to cleaning the buffer. Patch by belliotsmith, reviewed by marcuse for CASSANDRA-6652 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/55b5605b Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/55b5605b Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/55b5605b Branch: refs/heads/trunk Commit: 55b5605b7afcb7ae9bcb9b61959b91502f769db4 Parents: 87aca60 Author: Marcus Eriksson marc...@apache.org Authored: Tue Feb 11 09:18:09 2014 +0100 Committer: Marcus Eriksson marc...@apache.org Committed: Tue Feb 11 09:21:22 2014 +0100 -- CHANGES.txt | 1 + .../cassandra/db/commitlog/CommitLog.java | 2 +- .../db/commitlog/CommitLogSegment.java | 74 ++-- 3 files changed, 55 insertions(+), 22 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/55b5605b/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index b98dec7..93552ef 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -8,6 +8,7 @@ * Correctly handle null with IF conditions and TTL (CASSANDRA-6623) * Account for range/row tombstones in tombstone drop time histogram (CASSANDRA-6522) + * Stop CommitLogSegment.close() from calling sync() (CASSANDRA-6652) Merged from 1.2: * Fix upgradesstables NPE for non-CF-based indexes (CASSANDRA-6645) * Fix partition and range deletes not triggering flush (CASSANDRA-6655) http://git-wip-us.apache.org/repos/asf/cassandra/blob/55b5605b/src/java/org/apache/cassandra/db/commitlog/CommitLog.java -- diff --git a/src/java/org/apache/cassandra/db/commitlog/CommitLog.java b/src/java/org/apache/cassandra/db/commitlog/CommitLog.java index 0e9a3f1..e9507da 100644 --- a/src/java/org/apache/cassandra/db/commitlog/CommitLog.java +++ b/src/java/org/apache/cassandra/db/commitlog/CommitLog.java @@ -56,7 +56,7 @@ public class CommitLog implements CommitLogMBean public static final int END_OF_SEGMENT_MARKER = 0; // this is written out at the end of a segment public static final int END_OF_SEGMENT_MARKER_SIZE = 4; // number of bytes of ^^^ -public CommitLogSegment activeSegment; +public volatile CommitLogSegment activeSegment; private final CommitLogMetrics metrics; http://git-wip-us.apache.org/repos/asf/cassandra/blob/55b5605b/src/java/org/apache/cassandra/db/commitlog/CommitLogSegment.java -- diff --git a/src/java/org/apache/cassandra/db/commitlog/CommitLogSegment.java b/src/java/org/apache/cassandra/db/commitlog/CommitLogSegment.java index df3d257..25658ed 100644 --- a/src/java/org/apache/cassandra/db/commitlog/CommitLogSegment.java +++ b/src/java/org/apache/cassandra/db/commitlog/CommitLogSegment.java @@ -19,8 +19,10 @@ package org.apache.cassandra.db.commitlog; import java.io.DataOutputStream; import java.io.File; +import java.io.FileOutputStream; import java.io.IOException; import java.io.RandomAccessFile; +import java.nio.ByteBuffer; import java.nio.MappedByteBuffer; import java.nio.channels.FileChannel; import java.util.Collection; @@ -130,8 +132,8 @@ public class CommitLogSegment bufferStream = new DataOutputStream(new ChecksummedOutputStream(new ByteBufferOutputStream(buffer), checksum)); buffer.putInt(CommitLog.END_OF_SEGMENT_MARKER); buffer.position(0); - needsSync = true; +sync(); } catch (IOException e) { @@ -146,8 +148,54 @@ public class CommitLogSegment { // TODO shouldn't we close the file when we're done writing to it, which comes (potentially) much earlier than it's eligible for recyling? close(); +// it's safe to simply try (and maybe fail) to delete the log file because we should only ever close()/discard() once +// the global ReplayPosition is past the current log file position, so we will never replay it; however to be on the +// safe side we attempt to rename/zero it if delete fails if (deleteFile) -FileUtils.deleteWithConfirm(logFile); +{ +try +{ +FileUtils.deleteWithConfirm(logFile); +} +catch (FSWriteError e) +{ +// attempt to rename the file and zero its start, if possible, before throwing the error +File file = logFile; +try +{ +File newFile = new File(file.getPath() + .discarded
[2/2] git commit: Merge branch 'cassandra-2.0' into trunk
Merge branch 'cassandra-2.0' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/7604935e Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/7604935e Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/7604935e Branch: refs/heads/trunk Commit: 7604935efe871e9bd458389c4116c492e9cbc7d7 Parents: f05870e 55b5605 Author: Marcus Eriksson marc...@apache.org Authored: Tue Feb 11 09:23:08 2014 +0100 Committer: Marcus Eriksson marc...@apache.org Committed: Tue Feb 11 09:23:08 2014 +0100 -- --
git commit: Stop CommitLogSegment.close() from unnecessarily calling sync() prior to cleaning the buffer.
Updated Branches: refs/heads/cassandra-2.0 87aca600f - 55b5605b7 Stop CommitLogSegment.close() from unnecessarily calling sync() prior to cleaning the buffer. Patch by belliotsmith, reviewed by marcuse for CASSANDRA-6652 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/55b5605b Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/55b5605b Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/55b5605b Branch: refs/heads/cassandra-2.0 Commit: 55b5605b7afcb7ae9bcb9b61959b91502f769db4 Parents: 87aca60 Author: Marcus Eriksson marc...@apache.org Authored: Tue Feb 11 09:18:09 2014 +0100 Committer: Marcus Eriksson marc...@apache.org Committed: Tue Feb 11 09:21:22 2014 +0100 -- CHANGES.txt | 1 + .../cassandra/db/commitlog/CommitLog.java | 2 +- .../db/commitlog/CommitLogSegment.java | 74 ++-- 3 files changed, 55 insertions(+), 22 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/55b5605b/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index b98dec7..93552ef 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -8,6 +8,7 @@ * Correctly handle null with IF conditions and TTL (CASSANDRA-6623) * Account for range/row tombstones in tombstone drop time histogram (CASSANDRA-6522) + * Stop CommitLogSegment.close() from calling sync() (CASSANDRA-6652) Merged from 1.2: * Fix upgradesstables NPE for non-CF-based indexes (CASSANDRA-6645) * Fix partition and range deletes not triggering flush (CASSANDRA-6655) http://git-wip-us.apache.org/repos/asf/cassandra/blob/55b5605b/src/java/org/apache/cassandra/db/commitlog/CommitLog.java -- diff --git a/src/java/org/apache/cassandra/db/commitlog/CommitLog.java b/src/java/org/apache/cassandra/db/commitlog/CommitLog.java index 0e9a3f1..e9507da 100644 --- a/src/java/org/apache/cassandra/db/commitlog/CommitLog.java +++ b/src/java/org/apache/cassandra/db/commitlog/CommitLog.java @@ -56,7 +56,7 @@ public class CommitLog implements CommitLogMBean public static final int END_OF_SEGMENT_MARKER = 0; // this is written out at the end of a segment public static final int END_OF_SEGMENT_MARKER_SIZE = 4; // number of bytes of ^^^ -public CommitLogSegment activeSegment; +public volatile CommitLogSegment activeSegment; private final CommitLogMetrics metrics; http://git-wip-us.apache.org/repos/asf/cassandra/blob/55b5605b/src/java/org/apache/cassandra/db/commitlog/CommitLogSegment.java -- diff --git a/src/java/org/apache/cassandra/db/commitlog/CommitLogSegment.java b/src/java/org/apache/cassandra/db/commitlog/CommitLogSegment.java index df3d257..25658ed 100644 --- a/src/java/org/apache/cassandra/db/commitlog/CommitLogSegment.java +++ b/src/java/org/apache/cassandra/db/commitlog/CommitLogSegment.java @@ -19,8 +19,10 @@ package org.apache.cassandra.db.commitlog; import java.io.DataOutputStream; import java.io.File; +import java.io.FileOutputStream; import java.io.IOException; import java.io.RandomAccessFile; +import java.nio.ByteBuffer; import java.nio.MappedByteBuffer; import java.nio.channels.FileChannel; import java.util.Collection; @@ -130,8 +132,8 @@ public class CommitLogSegment bufferStream = new DataOutputStream(new ChecksummedOutputStream(new ByteBufferOutputStream(buffer), checksum)); buffer.putInt(CommitLog.END_OF_SEGMENT_MARKER); buffer.position(0); - needsSync = true; +sync(); } catch (IOException e) { @@ -146,8 +148,54 @@ public class CommitLogSegment { // TODO shouldn't we close the file when we're done writing to it, which comes (potentially) much earlier than it's eligible for recyling? close(); +// it's safe to simply try (and maybe fail) to delete the log file because we should only ever close()/discard() once +// the global ReplayPosition is past the current log file position, so we will never replay it; however to be on the +// safe side we attempt to rename/zero it if delete fails if (deleteFile) -FileUtils.deleteWithConfirm(logFile); +{ +try +{ +FileUtils.deleteWithConfirm(logFile); +} +catch (FSWriteError e) +{ +// attempt to rename the file and zero its start, if possible, before throwing the error +File file = logFile; +try +{ +File newFile = new File(file.getPath
[2/2] git commit: Merge branch 'cassandra-2.0' into trunk
Merge branch 'cassandra-2.0' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/a6e7d140 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/a6e7d140 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/a6e7d140 Branch: refs/heads/trunk Commit: a6e7d1405ad34127948538a866ef6fd027bf940d Parents: 7604935 9381b8d Author: Marcus Eriksson marc...@apache.org Authored: Tue Feb 11 13:14:28 2014 +0100 Committer: Marcus Eriksson marc...@apache.org Committed: Tue Feb 11 13:14:28 2014 +0100 -- --
[1/2] git commit: Add commit_failure_policy.
Updated Branches: refs/heads/trunk 7604935ef - a6e7d1405 Add commit_failure_policy. Patch by belliottsmith, reviewed by marcuse for CASSANDRA-6364 CASSANDRA-6364 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/9381b8d5 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/9381b8d5 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/9381b8d5 Branch: refs/heads/trunk Commit: 9381b8d569ae17cf2760bca266b5253e4bcd6ac2 Parents: 55b5605 Author: Marcus Eriksson marc...@apache.org Authored: Tue Feb 11 13:13:37 2014 +0100 Committer: Marcus Eriksson marc...@apache.org Committed: Tue Feb 11 13:13:37 2014 +0100 -- CHANGES.txt | 2 +- conf/cassandra.yaml | 8 + .../org/apache/cassandra/config/Config.java | 8 + .../cassandra/config/DatabaseDescriptor.java| 11 ++ .../BatchCommitLogExecutorService.java | 17 +++-- .../cassandra/db/commitlog/CommitLog.java | 24 + .../db/commitlog/CommitLogAllocator.java| 37 +--- .../PeriodicCommitLogExecutorService.java | 26 -- .../org/apache/cassandra/io/util/FileUtils.java | 20 ++- .../cassandra/service/StorageService.java | 19 ++ .../org/apache/cassandra/db/CommitLogTest.java | 32 + 11 files changed, 169 insertions(+), 35 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/9381b8d5/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 93552ef..a8114a3 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -9,13 +9,13 @@ * Account for range/row tombstones in tombstone drop time histogram (CASSANDRA-6522) * Stop CommitLogSegment.close() from calling sync() (CASSANDRA-6652) + * Make commitlog failure handling configurable (CASSANDRA-6364) Merged from 1.2: * Fix upgradesstables NPE for non-CF-based indexes (CASSANDRA-6645) * Fix partition and range deletes not triggering flush (CASSANDRA-6655) * Fix mean cells and mean row size per sstable calculations (CASSANDRA-6667) * Compact hints after partial replay to clean out tombstones (CASSANDRA-) - 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/9381b8d5/conf/cassandra.yaml -- diff --git a/conf/cassandra.yaml b/conf/cassandra.yaml index db924bb..bfe60c4 100644 --- a/conf/cassandra.yaml +++ b/conf/cassandra.yaml @@ -121,6 +121,14 @@ commitlog_directory: /var/lib/cassandra/commitlog # ignore: ignore fatal errors and let requests fail, as in pre-1.2 Cassandra disk_failure_policy: stop +# policy for commit disk failures: +# stop: shut down gossip and Thrift, leaving the node effectively dead, but +# can still be inspected via JMX. +# stop_commit: shutdown the commit log, letting writes collect but +# continuing to service reads, as in pre-2.0.5 Cassandra +# ignore: ignore fatal errors and let the batches fail +commit_failure_policy: stop + # Maximum size of the key cache in memory. # # Each key cache hit saves 1 seek and each row cache hit saves 2 seeks at the http://git-wip-us.apache.org/repos/asf/cassandra/blob/9381b8d5/src/java/org/apache/cassandra/config/Config.java -- diff --git a/src/java/org/apache/cassandra/config/Config.java b/src/java/org/apache/cassandra/config/Config.java index a4e4e92..2fa49f3 100644 --- a/src/java/org/apache/cassandra/config/Config.java +++ b/src/java/org/apache/cassandra/config/Config.java @@ -45,6 +45,7 @@ public class Config public DiskAccessMode disk_access_mode = DiskAccessMode.auto; public DiskFailurePolicy disk_failure_policy = DiskFailurePolicy.ignore; +public CommitFailurePolicy commit_failure_policy = CommitFailurePolicy.stop; /* initial token in the ring */ public String initial_token; @@ -230,6 +231,13 @@ public class Config ignore, } +public static enum CommitFailurePolicy +{ +stop, +stop_commit, +ignore, +} + public static enum RequestSchedulerId { keyspace http://git-wip-us.apache.org/repos/asf/cassandra/blob/9381b8d5/src/java/org/apache/cassandra/config/DatabaseDescriptor.java -- diff --git a/src/java/org/apache/cassandra/config/DatabaseDescriptor.java b/src/java/org/apache/cassandra/config/DatabaseDescriptor.java index bd5db69..e1a95ab 100644 --- a/src/java/org/apache/cassandra/config
git commit: Add commit_failure_policy.
Updated Branches: refs/heads/cassandra-2.0 55b5605b7 - 9381b8d56 Add commit_failure_policy. Patch by belliottsmith, reviewed by marcuse for CASSANDRA-6364 CASSANDRA-6364 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/9381b8d5 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/9381b8d5 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/9381b8d5 Branch: refs/heads/cassandra-2.0 Commit: 9381b8d569ae17cf2760bca266b5253e4bcd6ac2 Parents: 55b5605 Author: Marcus Eriksson marc...@apache.org Authored: Tue Feb 11 13:13:37 2014 +0100 Committer: Marcus Eriksson marc...@apache.org Committed: Tue Feb 11 13:13:37 2014 +0100 -- CHANGES.txt | 2 +- conf/cassandra.yaml | 8 + .../org/apache/cassandra/config/Config.java | 8 + .../cassandra/config/DatabaseDescriptor.java| 11 ++ .../BatchCommitLogExecutorService.java | 17 +++-- .../cassandra/db/commitlog/CommitLog.java | 24 + .../db/commitlog/CommitLogAllocator.java| 37 +--- .../PeriodicCommitLogExecutorService.java | 26 -- .../org/apache/cassandra/io/util/FileUtils.java | 20 ++- .../cassandra/service/StorageService.java | 19 ++ .../org/apache/cassandra/db/CommitLogTest.java | 32 + 11 files changed, 169 insertions(+), 35 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/9381b8d5/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 93552ef..a8114a3 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -9,13 +9,13 @@ * Account for range/row tombstones in tombstone drop time histogram (CASSANDRA-6522) * Stop CommitLogSegment.close() from calling sync() (CASSANDRA-6652) + * Make commitlog failure handling configurable (CASSANDRA-6364) Merged from 1.2: * Fix upgradesstables NPE for non-CF-based indexes (CASSANDRA-6645) * Fix partition and range deletes not triggering flush (CASSANDRA-6655) * Fix mean cells and mean row size per sstable calculations (CASSANDRA-6667) * Compact hints after partial replay to clean out tombstones (CASSANDRA-) - 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/9381b8d5/conf/cassandra.yaml -- diff --git a/conf/cassandra.yaml b/conf/cassandra.yaml index db924bb..bfe60c4 100644 --- a/conf/cassandra.yaml +++ b/conf/cassandra.yaml @@ -121,6 +121,14 @@ commitlog_directory: /var/lib/cassandra/commitlog # ignore: ignore fatal errors and let requests fail, as in pre-1.2 Cassandra disk_failure_policy: stop +# policy for commit disk failures: +# stop: shut down gossip and Thrift, leaving the node effectively dead, but +# can still be inspected via JMX. +# stop_commit: shutdown the commit log, letting writes collect but +# continuing to service reads, as in pre-2.0.5 Cassandra +# ignore: ignore fatal errors and let the batches fail +commit_failure_policy: stop + # Maximum size of the key cache in memory. # # Each key cache hit saves 1 seek and each row cache hit saves 2 seeks at the http://git-wip-us.apache.org/repos/asf/cassandra/blob/9381b8d5/src/java/org/apache/cassandra/config/Config.java -- diff --git a/src/java/org/apache/cassandra/config/Config.java b/src/java/org/apache/cassandra/config/Config.java index a4e4e92..2fa49f3 100644 --- a/src/java/org/apache/cassandra/config/Config.java +++ b/src/java/org/apache/cassandra/config/Config.java @@ -45,6 +45,7 @@ public class Config public DiskAccessMode disk_access_mode = DiskAccessMode.auto; public DiskFailurePolicy disk_failure_policy = DiskFailurePolicy.ignore; +public CommitFailurePolicy commit_failure_policy = CommitFailurePolicy.stop; /* initial token in the ring */ public String initial_token; @@ -230,6 +231,13 @@ public class Config ignore, } +public static enum CommitFailurePolicy +{ +stop, +stop_commit, +ignore, +} + public static enum RequestSchedulerId { keyspace http://git-wip-us.apache.org/repos/asf/cassandra/blob/9381b8d5/src/java/org/apache/cassandra/config/DatabaseDescriptor.java -- diff --git a/src/java/org/apache/cassandra/config/DatabaseDescriptor.java b/src/java/org/apache/cassandra/config/DatabaseDescriptor.java index bd5db69..e1a95ab 100644 --- a/src/java/org/apache
[1/2] git commit: Avoid overlaps in LCS by not skipping levels and verifying that the candidates don't overlap any compacting sstables.
Updated Branches: refs/heads/trunk 4334f99f4 - 3aaa0295c Avoid overlaps in LCS by not skipping levels and verifying that the candidates don't overlap any compacting sstables. Patch by marcuse, reviewed by jbellis for CASSANDRA-6688 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/15ee9489 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/15ee9489 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/15ee9489 Branch: refs/heads/trunk Commit: 15ee94897d7d8dae5b23c2a2112eb1564fada22b Parents: 5f60fcc Author: Marcus Eriksson marc...@apache.org Authored: Thu Feb 13 08:42:13 2014 +0100 Committer: Marcus Eriksson marc...@apache.org Committed: Thu Feb 13 08:42:13 2014 +0100 -- CHANGES.txt | 2 ++ .../db/compaction/LeveledManifest.java | 23 2 files changed, 6 insertions(+), 19 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/15ee9489/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index a4dc8fd..9509a76 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,3 +1,4 @@ +2.0.6 * Add compatibility for Hadoop 0.2.x (CASSANDRA-5201) * Fix EstimatedHistogram races (CASSANDRA-6682) * Failure detector correctly converts initial value to nanos (CASSANDRA-6658) @@ -10,6 +11,7 @@ time histogram (CASSANDRA-6522) * Stop CommitLogSegment.close() from calling sync() (CASSANDRA-6652) * Make commitlog failure handling configurable (CASSANDRA-6364) + * Avoid overlaps in LCS (CASSANDRA-6688) Merged from 1.2: * Fix broken streams when replacing with same IP (CASSANDRA-6622) * Fix upgradesstables NPE for non-CF-based indexes (CASSANDRA-6645) http://git-wip-us.apache.org/repos/asf/cassandra/blob/15ee9489/src/java/org/apache/cassandra/db/compaction/LeveledManifest.java -- diff --git a/src/java/org/apache/cassandra/db/compaction/LeveledManifest.java b/src/java/org/apache/cassandra/db/compaction/LeveledManifest.java index 4347ad5..a78a867 100644 --- a/src/java/org/apache/cassandra/db/compaction/LeveledManifest.java +++ b/src/java/org/apache/cassandra/db/compaction/LeveledManifest.java @@ -113,23 +113,6 @@ public class LeveledManifest generations[level].add(reader); } -/** - * if the number of SSTables in the current compacted set *by itself* exceeds the target level's - * (regardless of the level's current contents), find an empty level instead - */ -private int skipLevels(int newLevel, IterableSSTableReader added) -{ -// Note that we now check if the sstables included in the compaction, *before* the compaction, fit in the next level. -// This is needed since we need to decide before the actual compaction what level they will be in. -// This should be safe, we might skip levels where the compacted data could have fit but that should be ok. -while (maxBytesForLevel(newLevel) SSTableReader.getTotalBytes(added) -generations[(newLevel + 1)].isEmpty()) -{ -newLevel++; -} -return newLevel; -} - public synchronized void replace(CollectionSSTableReader removed, CollectionSSTableReader added) { assert !removed.isEmpty(); // use add() instead of promote when adding new sstables @@ -449,7 +432,10 @@ public class LeveledManifest for (SSTableReader newCandidate : overlappedL0) { -candidates.add(newCandidate); +// overlappedL0 could contain sstables that are not in compactingL0, but do overlap +// other sstables that are +if (overlapping(newCandidate, compactingL0).isEmpty()) +candidates.add(newCandidate); remaining.remove(newCandidate); } @@ -572,7 +558,6 @@ public class LeveledManifest else { newLevel = minimumLevel == maximumLevel ? maximumLevel + 1 : maximumLevel; -newLevel = skipLevels(newLevel, sstables); assert newLevel 0; } return newLevel;
[2/2] git commit: Merge branch 'cassandra-2.0' into trunk
Merge branch 'cassandra-2.0' into trunk Conflicts: CHANGES.txt src/java/org/apache/cassandra/db/compaction/LeveledManifest.java Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/3aaa0295 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/3aaa0295 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/3aaa0295 Branch: refs/heads/trunk Commit: 3aaa0295c884b3c8d8e6ab5e3cd90e26cc77d1a3 Parents: 4334f99 15ee948 Author: Marcus Eriksson marc...@apache.org Authored: Thu Feb 13 08:46:59 2014 +0100 Committer: Marcus Eriksson marc...@apache.org Committed: Thu Feb 13 08:46:59 2014 +0100 -- CHANGES.txt | 4 +++- .../db/compaction/LeveledManifest.java | 23 2 files changed, 7 insertions(+), 20 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/3aaa0295/CHANGES.txt -- diff --cc CHANGES.txt index a45df89,9509a76..139eb06 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,37 -1,3 +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) + * Replace UnsortedColumns, EmptyColumns, TreeMapBackedSortedColumns with new + ArrayBackedSortedColumns (CASSANDRA-6630, CASSANDRA-6662, CASSANDRA-6690) + * Add option to use row cache with a given amount of rows (CASSANDRA-5357) + * Avoid repairing already repaired data (CASSANDRA-5351) + * Reject counter updates with USING TTL/TIMESTAMP (CASSANDRA-6649) + - 2.0.6 * Add compatibility for Hadoop 0.2.x (CASSANDRA-5201) * Fix EstimatedHistogram races (CASSANDRA-6682) http://git-wip-us.apache.org/repos/asf/cassandra/blob/3aaa0295/src/java/org/apache/cassandra/db/compaction/LeveledManifest.java -- diff --cc src/java/org/apache/cassandra/db/compaction/LeveledManifest.java index cab726d,a78a867..05b838d --- a/src/java/org/apache/cassandra/db/compaction/LeveledManifest.java +++ b/src/java/org/apache/cassandra/db/compaction/LeveledManifest.java @@@ -103,93 -105,14 +103,76 @@@ public class LeveledManifes public synchronized void add(SSTableReader reader) { +if (!hasRepairedData reader.isRepaired()) +{ +// this is the first repaired sstable we get - we need to +// rebuild the entire manifest, unrepaired data should be +// in unrepairedL0. Note that we keep the sstable level in +// the sstable metadata since we are likely to be able to +// re-add it at a good level later (during anticompaction +// for example). +hasRepairedData = true; +rebuildManifestAfterFirstRepair(); +} + int level = reader.getSSTableLevel(); -assert level generations.length : Invalid level + level + out of + (generations.length - 1); -logDistribution(); +if (hasRepairedData !reader.isRepaired()) +{ +logger.debug(Adding unrepaired {} to unrepaired L0, reader); +unrepairedL0.add(reader); +} +else +{ +assert level generations.length : Invalid level + level + out of + (generations.length - 1); +
git commit: Avoid overlaps in LCS by not skipping levels and verifying that the candidates don't overlap any compacting sstables.
Updated Branches: refs/heads/cassandra-2.0 5f60fcc39 - 15ee94897 Avoid overlaps in LCS by not skipping levels and verifying that the candidates don't overlap any compacting sstables. Patch by marcuse, reviewed by jbellis for CASSANDRA-6688 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/15ee9489 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/15ee9489 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/15ee9489 Branch: refs/heads/cassandra-2.0 Commit: 15ee94897d7d8dae5b23c2a2112eb1564fada22b Parents: 5f60fcc Author: Marcus Eriksson marc...@apache.org Authored: Thu Feb 13 08:42:13 2014 +0100 Committer: Marcus Eriksson marc...@apache.org Committed: Thu Feb 13 08:42:13 2014 +0100 -- CHANGES.txt | 2 ++ .../db/compaction/LeveledManifest.java | 23 2 files changed, 6 insertions(+), 19 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/15ee9489/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index a4dc8fd..9509a76 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,3 +1,4 @@ +2.0.6 * Add compatibility for Hadoop 0.2.x (CASSANDRA-5201) * Fix EstimatedHistogram races (CASSANDRA-6682) * Failure detector correctly converts initial value to nanos (CASSANDRA-6658) @@ -10,6 +11,7 @@ time histogram (CASSANDRA-6522) * Stop CommitLogSegment.close() from calling sync() (CASSANDRA-6652) * Make commitlog failure handling configurable (CASSANDRA-6364) + * Avoid overlaps in LCS (CASSANDRA-6688) Merged from 1.2: * Fix broken streams when replacing with same IP (CASSANDRA-6622) * Fix upgradesstables NPE for non-CF-based indexes (CASSANDRA-6645) http://git-wip-us.apache.org/repos/asf/cassandra/blob/15ee9489/src/java/org/apache/cassandra/db/compaction/LeveledManifest.java -- diff --git a/src/java/org/apache/cassandra/db/compaction/LeveledManifest.java b/src/java/org/apache/cassandra/db/compaction/LeveledManifest.java index 4347ad5..a78a867 100644 --- a/src/java/org/apache/cassandra/db/compaction/LeveledManifest.java +++ b/src/java/org/apache/cassandra/db/compaction/LeveledManifest.java @@ -113,23 +113,6 @@ public class LeveledManifest generations[level].add(reader); } -/** - * if the number of SSTables in the current compacted set *by itself* exceeds the target level's - * (regardless of the level's current contents), find an empty level instead - */ -private int skipLevels(int newLevel, IterableSSTableReader added) -{ -// Note that we now check if the sstables included in the compaction, *before* the compaction, fit in the next level. -// This is needed since we need to decide before the actual compaction what level they will be in. -// This should be safe, we might skip levels where the compacted data could have fit but that should be ok. -while (maxBytesForLevel(newLevel) SSTableReader.getTotalBytes(added) -generations[(newLevel + 1)].isEmpty()) -{ -newLevel++; -} -return newLevel; -} - public synchronized void replace(CollectionSSTableReader removed, CollectionSSTableReader added) { assert !removed.isEmpty(); // use add() instead of promote when adding new sstables @@ -449,7 +432,10 @@ public class LeveledManifest for (SSTableReader newCandidate : overlappedL0) { -candidates.add(newCandidate); +// overlappedL0 could contain sstables that are not in compactingL0, but do overlap +// other sstables that are +if (overlapping(newCandidate, compactingL0).isEmpty()) +candidates.add(newCandidate); remaining.remove(newCandidate); } @@ -572,7 +558,6 @@ public class LeveledManifest else { newLevel = minimumLevel == maximumLevel ? maximumLevel + 1 : maximumLevel; -newLevel = skipLevels(newLevel, sstables); assert newLevel 0; } return newLevel;
git commit: Add binary protocol versioning
Updated Branches: refs/heads/trunk 5d3b08ef1 - bf2ee0443 Add binary protocol versioning patch by marcuse, reviewed by pcmanus for CASSANDRA-5436 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/bf2ee044 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/bf2ee044 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/bf2ee044 Branch: refs/heads/trunk Commit: bf2ee04431fa3f8142ad43cbf514b69741002f7e Parents: 5d3b08e Author: Marcus Eriksson marc...@spotify.com Authored: Wed Apr 17 13:10:54 2013 -0400 Committer: Marcus Eriksson marc...@spotify.com Committed: Wed Apr 24 10:11:09 2013 +0200 -- CHANGES.txt|2 +- src/java/org/apache/cassandra/cql3/ResultSet.java |6 ++-- .../org/apache/cassandra/transport/CBCodec.java|2 +- src/java/org/apache/cassandra/transport/Frame.java | 10 +++--- .../org/apache/cassandra/transport/Message.java| 25 --- .../transport/messages/AuthenticateMessage.java|2 +- .../transport/messages/CredentialsMessage.java |2 +- .../cassandra/transport/messages/ErrorMessage.java |2 +- .../cassandra/transport/messages/EventMessage.java |2 +- .../transport/messages/ExecuteMessage.java |2 +- .../transport/messages/OptionsMessage.java |2 +- .../transport/messages/PrepareMessage.java |2 +- .../cassandra/transport/messages/QueryMessage.java |2 +- .../cassandra/transport/messages/ReadyMessage.java |2 +- .../transport/messages/RegisterMessage.java|2 +- .../transport/messages/ResultMessage.java | 18 +- .../transport/messages/StartupMessage.java |2 +- .../transport/messages/SupportedMessage.java |2 +- 18 files changed, 51 insertions(+), 36 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/bf2ee044/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 4fdef2c..10136fe 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -35,7 +35,7 @@ out TreeRequests (CASSANDRA-4932) * Add an official way to disable compactions (CASSANDRA-5074) * Reenable ALTER TABLE DROP with new semantics (CASSANDRA-3919) - + * Add binary protocol versioning (CASSANDRA-5436) 1.2.5 * remove per-row column name bloom filters (CASSANDRA-5492) http://git-wip-us.apache.org/repos/asf/cassandra/blob/bf2ee044/src/java/org/apache/cassandra/cql3/ResultSet.java -- diff --git a/src/java/org/apache/cassandra/cql3/ResultSet.java b/src/java/org/apache/cassandra/cql3/ResultSet.java index 3ddfdc4..5f0dcf1 100644 --- a/src/java/org/apache/cassandra/cql3/ResultSet.java +++ b/src/java/org/apache/cassandra/cql3/ResultSet.java @@ -175,9 +175,9 @@ public class ResultSet * - rows count (4 bytes) * - rows */ -public ResultSet decode(ChannelBuffer body) +public ResultSet decode(ChannelBuffer body, int version) { -Metadata m = Metadata.codec.decode(body); +Metadata m = Metadata.codec.decode(body, version); int rowCount = body.readInt(); ResultSet rs = new ResultSet(m, new ArrayListListByteBuffer(rowCount)); @@ -255,7 +255,7 @@ public class ResultSet private static class Codec implements CBCodecMetadata { -public Metadata decode(ChannelBuffer body) +public Metadata decode(ChannelBuffer body, int version) { // flags column count int iflags = body.readInt(); http://git-wip-us.apache.org/repos/asf/cassandra/blob/bf2ee044/src/java/org/apache/cassandra/transport/CBCodec.java -- diff --git a/src/java/org/apache/cassandra/transport/CBCodec.java b/src/java/org/apache/cassandra/transport/CBCodec.java index 1a6719b..2250816 100644 --- a/src/java/org/apache/cassandra/transport/CBCodec.java +++ b/src/java/org/apache/cassandra/transport/CBCodec.java @@ -21,6 +21,6 @@ import org.jboss.netty.buffer.ChannelBuffer; public interface CBCodecT { -public T decode(ChannelBuffer body); +public T decode(ChannelBuffer body, int version); public ChannelBuffer encode(T t); } http://git-wip-us.apache.org/repos/asf/cassandra/blob/bf2ee044/src/java/org/apache/cassandra/transport/Frame.java -- diff --git a/src/java/org/apache/cassandra/transport/Frame.java b/src/java/org/apache/cassandra/transport/Frame.java index be9df1a..014d512 100644 --- a/src/java/org/apache/cassandra/transport/Frame.java +++ b/src/java/org/apache/cassandra
git commit: Add helper to create sstables for legacy leveled manifest test
Updated Branches: refs/heads/cassandra-1.2 3c93e8c6b - 591b8ca4b Add helper to create sstables for legacy leveled manifest test Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/591b8ca4 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/591b8ca4 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/591b8ca4 Branch: refs/heads/cassandra-1.2 Commit: 591b8ca4b3cd1074f6c62414975950a69149748d Parents: 3c93e8c6 Author: Marcus Eriksson marc...@spotify.com Authored: Thu Apr 25 18:04:12 2013 +0200 Committer: Marcus Eriksson marc...@spotify.com Committed: Thu Apr 25 18:04:12 2013 +0200 -- test/unit/org/apache/cassandra/SchemaLoader.java |3 + .../LegacyLeveledManifestTestHelper.java | 57 +++ 2 files changed, 60 insertions(+), 0 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/591b8ca4/test/unit/org/apache/cassandra/SchemaLoader.java -- diff --git a/test/unit/org/apache/cassandra/SchemaLoader.java b/test/unit/org/apache/cassandra/SchemaLoader.java index 3db1fc5..b2ae83a 100644 --- a/test/unit/org/apache/cassandra/SchemaLoader.java +++ b/test/unit/org/apache/cassandra/SchemaLoader.java @@ -220,6 +220,9 @@ public class SchemaLoader null), standardCFMD(ks1, StandardLeveled, withOldCfIds) .compactionStrategyClass(LeveledCompactionStrategy.class) + .compactionStrategyOptions(leveledOptions), + standardCFMD(ks1, legacyleveled, withOldCfIds) + .compactionStrategyClass(LeveledCompactionStrategy.class) .compactionStrategyOptions(leveledOptions))); // Keyspace 2 http://git-wip-us.apache.org/repos/asf/cassandra/blob/591b8ca4/test/unit/org/apache/cassandra/db/compaction/LegacyLeveledManifestTestHelper.java -- diff --git a/test/unit/org/apache/cassandra/db/compaction/LegacyLeveledManifestTestHelper.java b/test/unit/org/apache/cassandra/db/compaction/LegacyLeveledManifestTestHelper.java new file mode 100644 index 000..9ce60ea --- /dev/null +++ b/test/unit/org/apache/cassandra/db/compaction/LegacyLeveledManifestTestHelper.java @@ -0,0 +1,57 @@ +package org.apache.cassandra.db.compaction; + + +import java.io.File; +import java.io.IOException; +import java.util.HashSet; +import java.util.Set; +import org.junit.Ignore; +import org.junit.Test; + +import org.apache.cassandra.SchemaLoader; +import org.apache.cassandra.io.sstable.Descriptor; +import org.apache.cassandra.io.sstable.SSTableReader; +import org.apache.cassandra.io.sstable.SSTableUtils; +import org.apache.cassandra.io.util.FileUtils; + +@Ignore +public class LegacyLeveledManifestTestHelper extends SchemaLoader +{ +public final static String PROP = migration-sstable-root; +public final static String KS = Keyspace1; +public final static String CF = legacyleveled; +/** + * Generates two sstables to be used to test migrating from a .json manifest to keeping the level in the sstable + * metadata. + * + * Do this: + * 1. remove @Ignore + * 2. comment out the @Before and @After methods above + * 3. run this method + * 4. checkout trunk + * 5. copy the .json file from the previous version to the current one + *(ie; test/data/migration-sstables/ic/Keyspace1/legacyleveled/legacyleveled.json) + * 6. update LegacyLeveledManifestTest to use the new version. + */ +@Test +public void generateSSTable() throws IOException +{ +File legacySSTableDir = getLegacySSTableDir(Descriptor.Version.current_version); +FileUtils.createDirectory(legacySSTableDir); +SetString keys = new HashSetString(); +for(int i = 0; i 10; i++) +{ +keys.add(key+i); +} +for(int i = 0; i 3; i++) +{ +SSTableReader ssTable = SSTableUtils.prepare().ks(KS).cf(CF).dest(new Descriptor(legacySSTableDir, KS, CF, i, false)).write(keys); +System.out.println(ssTable); +} +} +public static File getLegacySSTableDir(String version) +{ +return new File(System.getProperty(PROP) + File.separator + version + File.separator + KS + File.separator + CF); +} + +}
[1/3] git commit: Add helper to create sstables for legacy leveled manifest test
Updated Branches: refs/heads/trunk bf2ee0443 - 32f4e2cce Add helper to create sstables for legacy leveled manifest test Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/591b8ca4 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/591b8ca4 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/591b8ca4 Branch: refs/heads/trunk Commit: 591b8ca4b3cd1074f6c62414975950a69149748d Parents: 3c93e8c6 Author: Marcus Eriksson marc...@spotify.com Authored: Thu Apr 25 18:04:12 2013 +0200 Committer: Marcus Eriksson marc...@spotify.com Committed: Thu Apr 25 18:04:12 2013 +0200 -- test/unit/org/apache/cassandra/SchemaLoader.java |3 + .../LegacyLeveledManifestTestHelper.java | 57 +++ 2 files changed, 60 insertions(+), 0 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/591b8ca4/test/unit/org/apache/cassandra/SchemaLoader.java -- diff --git a/test/unit/org/apache/cassandra/SchemaLoader.java b/test/unit/org/apache/cassandra/SchemaLoader.java index 3db1fc5..b2ae83a 100644 --- a/test/unit/org/apache/cassandra/SchemaLoader.java +++ b/test/unit/org/apache/cassandra/SchemaLoader.java @@ -220,6 +220,9 @@ public class SchemaLoader null), standardCFMD(ks1, StandardLeveled, withOldCfIds) .compactionStrategyClass(LeveledCompactionStrategy.class) + .compactionStrategyOptions(leveledOptions), + standardCFMD(ks1, legacyleveled, withOldCfIds) + .compactionStrategyClass(LeveledCompactionStrategy.class) .compactionStrategyOptions(leveledOptions))); // Keyspace 2 http://git-wip-us.apache.org/repos/asf/cassandra/blob/591b8ca4/test/unit/org/apache/cassandra/db/compaction/LegacyLeveledManifestTestHelper.java -- diff --git a/test/unit/org/apache/cassandra/db/compaction/LegacyLeveledManifestTestHelper.java b/test/unit/org/apache/cassandra/db/compaction/LegacyLeveledManifestTestHelper.java new file mode 100644 index 000..9ce60ea --- /dev/null +++ b/test/unit/org/apache/cassandra/db/compaction/LegacyLeveledManifestTestHelper.java @@ -0,0 +1,57 @@ +package org.apache.cassandra.db.compaction; + + +import java.io.File; +import java.io.IOException; +import java.util.HashSet; +import java.util.Set; +import org.junit.Ignore; +import org.junit.Test; + +import org.apache.cassandra.SchemaLoader; +import org.apache.cassandra.io.sstable.Descriptor; +import org.apache.cassandra.io.sstable.SSTableReader; +import org.apache.cassandra.io.sstable.SSTableUtils; +import org.apache.cassandra.io.util.FileUtils; + +@Ignore +public class LegacyLeveledManifestTestHelper extends SchemaLoader +{ +public final static String PROP = migration-sstable-root; +public final static String KS = Keyspace1; +public final static String CF = legacyleveled; +/** + * Generates two sstables to be used to test migrating from a .json manifest to keeping the level in the sstable + * metadata. + * + * Do this: + * 1. remove @Ignore + * 2. comment out the @Before and @After methods above + * 3. run this method + * 4. checkout trunk + * 5. copy the .json file from the previous version to the current one + *(ie; test/data/migration-sstables/ic/Keyspace1/legacyleveled/legacyleveled.json) + * 6. update LegacyLeveledManifestTest to use the new version. + */ +@Test +public void generateSSTable() throws IOException +{ +File legacySSTableDir = getLegacySSTableDir(Descriptor.Version.current_version); +FileUtils.createDirectory(legacySSTableDir); +SetString keys = new HashSetString(); +for(int i = 0; i 10; i++) +{ +keys.add(key+i); +} +for(int i = 0; i 3; i++) +{ +SSTableReader ssTable = SSTableUtils.prepare().ks(KS).cf(CF).dest(new Descriptor(legacySSTableDir, KS, CF, i, false)).write(keys); +System.out.println(ssTable); +} +} +public static File getLegacySSTableDir(String version) +{ +return new File(System.getProperty(PROP) + File.separator + version + File.separator + KS + File.separator + CF); +} + +}
[2/3] git commit: Merge branch 'cassandra-1.2' into trunk
Merge branch 'cassandra-1.2' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/85b0d150 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/85b0d150 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/85b0d150 Branch: refs/heads/trunk Commit: 85b0d150fb5cf7892eafd6f090cc176e3634a0af Parents: bf2ee04 591b8ca Author: Marcus Eriksson marc...@spotify.com Authored: Thu Apr 25 18:16:39 2013 +0200 Committer: Marcus Eriksson marc...@spotify.com Committed: Thu Apr 25 18:16:39 2013 +0200 -- test/unit/org/apache/cassandra/SchemaLoader.java |3 + .../LegacyLeveledManifestTestHelper.java | 57 +++ 2 files changed, 60 insertions(+), 0 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/85b0d150/test/unit/org/apache/cassandra/SchemaLoader.java --
[3/3] git commit: Use new ic legacy sstables for legacy leveled manifest test
Use new ic legacy sstables for legacy leveled manifest test Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/32f4e2cc Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/32f4e2cc Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/32f4e2cc Branch: refs/heads/trunk Commit: 32f4e2ccec259c3a7c9527b538d53464c52cfc11 Parents: 85b0d15 Author: Marcus Eriksson marc...@spotify.com Authored: Thu Apr 25 18:17:53 2013 +0200 Committer: Marcus Eriksson marc...@spotify.com Committed: Thu Apr 25 18:20:12 2013 +0200 -- ...Keyspace1-legacyleveled-hf-0-CompressionInfo.db | Bin 46 - 0 bytes .../Keyspace1/Keyspace1-legacyleveled-hf-0-Data.db | Bin 70 - 0 bytes .../Keyspace1-legacyleveled-hf-0-Filter.db | Bin 16 - 0 bytes .../Keyspace1-legacyleveled-hf-0-Index.db | Bin 14 - 0 bytes .../Keyspace1-legacyleveled-hf-0-Statistics.db | Bin 4340 - 0 bytes .../Keyspace1/Keyspace1-legacyleveled-hf-0-TOC.txt |6 --- ...Keyspace1-legacyleveled-hf-1-CompressionInfo.db | Bin 46 - 0 bytes .../Keyspace1/Keyspace1-legacyleveled-hf-1-Data.db | Bin 70 - 0 bytes .../Keyspace1-legacyleveled-hf-1-Filter.db | Bin 16 - 0 bytes .../Keyspace1-legacyleveled-hf-1-Index.db | Bin 14 - 0 bytes .../Keyspace1-legacyleveled-hf-1-Statistics.db | Bin 4340 - 0 bytes ...Keyspace1-legacyleveled-hf-2-CompressionInfo.db | Bin 46 - 0 bytes .../Keyspace1/Keyspace1-legacyleveled-hf-2-Data.db | Bin 70 - 0 bytes .../Keyspace1-legacyleveled-hf-2-Filter.db | Bin 16 - 0 bytes .../Keyspace1-legacyleveled-hf-2-Index.db | Bin 14 - 0 bytes .../Keyspace1-legacyleveled-hf-2-Statistics.db | Bin 4340 - 0 bytes .../hf/Keyspace1/legacyleveled.json| 27 --- .../Keyspace1-legacyleveled-ic-0-Data.db | Bin 0 - 530 bytes .../Keyspace1-legacyleveled-ic-0-Digest.sha1 |1 + .../Keyspace1-legacyleveled-ic-0-Filter.db | Bin 0 - 24 bytes .../Keyspace1-legacyleveled-ic-0-Index.db | Bin 0 - 180 bytes .../Keyspace1-legacyleveled-ic-0-Statistics.db | Bin 0 - 4361 bytes .../Keyspace1-legacyleveled-ic-0-Summary.db| Bin 0 - 92 bytes .../Keyspace1-legacyleveled-ic-0-TOC.txt |7 .../Keyspace1-legacyleveled-ic-1-Data.db | Bin 0 - 530 bytes .../Keyspace1-legacyleveled-ic-1-Digest.sha1 |1 + .../Keyspace1-legacyleveled-ic-1-Filter.db | Bin 0 - 24 bytes .../Keyspace1-legacyleveled-ic-1-Index.db | Bin 0 - 180 bytes .../Keyspace1-legacyleveled-ic-1-Statistics.db | Bin 0 - 4361 bytes .../Keyspace1-legacyleveled-ic-1-Summary.db| Bin 0 - 92 bytes .../Keyspace1-legacyleveled-ic-1-TOC.txt |7 .../Keyspace1-legacyleveled-ic-2-Data.db | Bin 0 - 530 bytes .../Keyspace1-legacyleveled-ic-2-Digest.sha1 |1 + .../Keyspace1-legacyleveled-ic-2-Filter.db | Bin 0 - 24 bytes .../Keyspace1-legacyleveled-ic-2-Index.db | Bin 0 - 180 bytes .../Keyspace1-legacyleveled-ic-2-Statistics.db | Bin 0 - 4361 bytes .../Keyspace1-legacyleveled-ic-2-Summary.db| Bin 0 - 92 bytes .../Keyspace1-legacyleveled-ic-2-TOC.txt |7 .../ic/Keyspace1/legacyleveled/legacyleveled.json | 27 +++ .../db/compaction/LegacyLeveledManifestTest.java | 19 +- 40 files changed, 61 insertions(+), 42 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/32f4e2cc/test/data/migration-sstables/hf/Keyspace1/Keyspace1-legacyleveled-hf-0-CompressionInfo.db -- diff --git a/test/data/migration-sstables/hf/Keyspace1/Keyspace1-legacyleveled-hf-0-CompressionInfo.db b/test/data/migration-sstables/hf/Keyspace1/Keyspace1-legacyleveled-hf-0-CompressionInfo.db deleted file mode 100644 index af783d6..000 Binary files a/test/data/migration-sstables/hf/Keyspace1/Keyspace1-legacyleveled-hf-0-CompressionInfo.db and /dev/null differ http://git-wip-us.apache.org/repos/asf/cassandra/blob/32f4e2cc/test/data/migration-sstables/hf/Keyspace1/Keyspace1-legacyleveled-hf-0-Data.db -- diff --git a/test/data/migration-sstables/hf/Keyspace1/Keyspace1-legacyleveled-hf-0-Data.db b/test/data/migration-sstables/hf/Keyspace1/Keyspace1-legacyleveled-hf-0-Data.db deleted file mode 100644 index 854a1c9..000 Binary files a/test/data/migration-sstables/hf/Keyspace1/Keyspace1-legacyleveled-hf-0-Data.db and /dev/null differ http://git-wip-us.apache.org/repos/asf/cassandra/blob/32f4e2cc/test/data/migration-sstables/hf/Keyspace1/Keyspace1-legacyleveled-hf-0-Filter.db
git commit: fsync leveled manifest to avoid it getting corrupt
Updated Branches: refs/heads/cassandra-1.1 b4b4f6a95 - fe910e6c9 fsync leveled manifest to avoid it getting corrupt Patch by marcuse, reviewed by jbellis and carlyeks for CASSANDRA-5535 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/fe910e6c Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/fe910e6c Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/fe910e6c Branch: refs/heads/cassandra-1.1 Commit: fe910e6c90d81cc61c16859bcef9f0dcb42cc827 Parents: b4b4f6a Author: Marcus Eriksson marc...@spotify.com Authored: Sat May 4 18:49:04 2013 +0200 Committer: Marcus Eriksson marc...@spotify.com Committed: Sat May 4 20:28:03 2013 +0200 -- CHANGES.txt|2 +- .../cassandra/db/compaction/LeveledManifest.java |6 +- 2 files changed, 6 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/fe910e6c/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 30a09c9..5a559a8 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -2,7 +2,7 @@ * Add retry mechanism to OTC for non-droppable_verbs (CASSANDRA-5393) * Use allocator information to improve memtable memory usage estimate (CASSANDRA-5497) - + * fsync leveled manifest to avoid corruption (CASSANDRA-5535) 1.1.11 * Fix trying to load deleted row into row cache on startup (CASSANDRA-4463) http://git-wip-us.apache.org/repos/asf/cassandra/blob/fe910e6c/src/java/org/apache/cassandra/db/compaction/LeveledManifest.java -- diff --git a/src/java/org/apache/cassandra/db/compaction/LeveledManifest.java b/src/java/org/apache/cassandra/db/compaction/LeveledManifest.java index 5f22109..8ac7028 100644 --- a/src/java/org/apache/cassandra/db/compaction/LeveledManifest.java +++ b/src/java/org/apache/cassandra/db/compaction/LeveledManifest.java @@ -22,6 +22,7 @@ package org.apache.cassandra.db.compaction; import java.io.File; +import java.io.FileOutputStream; import java.io.IOError; import java.io.IOException; import java.util.*; @@ -534,7 +535,8 @@ public class LeveledManifest JsonFactory f = new JsonFactory(); try { -JsonGenerator g = f.createJsonGenerator(tmpFile, JsonEncoding.UTF8); +FileOutputStream fos = new FileOutputStream(tmpFile); +JsonGenerator g = f.createJsonGenerator(fos, JsonEncoding.UTF8); g.useDefaultPrettyPrinter(); g.writeStartObject(); g.writeArrayFieldStart(generations); @@ -551,6 +553,8 @@ public class LeveledManifest } g.writeEndArray(); // for field generations g.writeEndObject(); // write global object +g.flush(); +fos.getFD().sync(); g.close(); if (oldFile.exists() manifestFile.exists())
[1/2] git commit: fsync leveled manifest to avoid it getting corrupt
Updated Branches: refs/heads/cassandra-1.2 c007102c5 - ac1d7ee1c fsync leveled manifest to avoid it getting corrupt Patch by marcuse, reviewed by jbellis and carlyeks for CASSANDRA-5535 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/fe910e6c Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/fe910e6c Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/fe910e6c Branch: refs/heads/cassandra-1.2 Commit: fe910e6c90d81cc61c16859bcef9f0dcb42cc827 Parents: b4b4f6a Author: Marcus Eriksson marc...@spotify.com Authored: Sat May 4 18:49:04 2013 +0200 Committer: Marcus Eriksson marc...@spotify.com Committed: Sat May 4 20:28:03 2013 +0200 -- CHANGES.txt|2 +- .../cassandra/db/compaction/LeveledManifest.java |6 +- 2 files changed, 6 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/fe910e6c/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 30a09c9..5a559a8 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -2,7 +2,7 @@ * Add retry mechanism to OTC for non-droppable_verbs (CASSANDRA-5393) * Use allocator information to improve memtable memory usage estimate (CASSANDRA-5497) - + * fsync leveled manifest to avoid corruption (CASSANDRA-5535) 1.1.11 * Fix trying to load deleted row into row cache on startup (CASSANDRA-4463) http://git-wip-us.apache.org/repos/asf/cassandra/blob/fe910e6c/src/java/org/apache/cassandra/db/compaction/LeveledManifest.java -- diff --git a/src/java/org/apache/cassandra/db/compaction/LeveledManifest.java b/src/java/org/apache/cassandra/db/compaction/LeveledManifest.java index 5f22109..8ac7028 100644 --- a/src/java/org/apache/cassandra/db/compaction/LeveledManifest.java +++ b/src/java/org/apache/cassandra/db/compaction/LeveledManifest.java @@ -22,6 +22,7 @@ package org.apache.cassandra.db.compaction; import java.io.File; +import java.io.FileOutputStream; import java.io.IOError; import java.io.IOException; import java.util.*; @@ -534,7 +535,8 @@ public class LeveledManifest JsonFactory f = new JsonFactory(); try { -JsonGenerator g = f.createJsonGenerator(tmpFile, JsonEncoding.UTF8); +FileOutputStream fos = new FileOutputStream(tmpFile); +JsonGenerator g = f.createJsonGenerator(fos, JsonEncoding.UTF8); g.useDefaultPrettyPrinter(); g.writeStartObject(); g.writeArrayFieldStart(generations); @@ -551,6 +553,8 @@ public class LeveledManifest } g.writeEndArray(); // for field generations g.writeEndObject(); // write global object +g.flush(); +fos.getFD().sync(); g.close(); if (oldFile.exists() manifestFile.exists())