[2/2] git commit: Merge branch 'cassandra-2.0' into cassandra-2.1.0

2014-07-03 Thread marcuse
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

2014-07-03 Thread marcuse
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

2014-07-03 Thread marcuse
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

2014-07-03 Thread marcuse
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

2014-07-03 Thread marcuse
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

2014-07-03 Thread marcuse
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

2014-07-03 Thread marcuse
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

2014-07-03 Thread marcuse
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

2014-07-03 Thread marcuse
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

2014-07-03 Thread marcuse
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

2014-07-03 Thread marcuse
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

2014-07-03 Thread marcuse
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

2014-07-03 Thread marcuse
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

2014-07-03 Thread marcuse
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.

2014-07-28 Thread marcuse
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.

2014-07-28 Thread marcuse
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

2014-07-28 Thread marcuse
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

2014-07-28 Thread marcuse
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

2014-07-28 Thread marcuse
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.

2014-07-30 Thread marcuse
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

2014-07-30 Thread marcuse
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.

2014-07-30 Thread marcuse
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.

2014-07-30 Thread marcuse
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

2014-07-30 Thread marcuse
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

2014-07-30 Thread marcuse
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

2014-07-30 Thread marcuse
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

2014-07-30 Thread marcuse
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

2014-07-30 Thread marcuse
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

2014-07-30 Thread marcuse
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.

2014-07-30 Thread marcuse
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

2014-07-30 Thread marcuse
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

2014-07-30 Thread marcuse
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

2014-07-30 Thread marcuse
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

2014-07-30 Thread marcuse
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

2014-07-30 Thread marcuse
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

2014-07-31 Thread marcuse
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.

2013-08-14 Thread marcuse
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

2013-08-14 Thread marcuse
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.

2013-08-14 Thread marcuse
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.

2013-08-21 Thread marcuse
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

2013-08-21 Thread marcuse
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.

2013-08-21 Thread marcuse
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

2013-08-21 Thread marcuse
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

2013-08-21 Thread marcuse
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.

2013-08-21 Thread marcuse
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

2013-08-22 Thread marcuse
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.

2013-08-30 Thread marcuse
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.

2013-09-08 Thread marcuse
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

2013-09-13 Thread marcuse
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.

2013-09-13 Thread marcuse
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.

2013-09-13 Thread marcuse
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.

2013-09-13 Thread marcuse
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.

2013-09-24 Thread marcuse
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.

2013-09-24 Thread marcuse
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

2013-09-24 Thread marcuse
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.

2013-09-25 Thread marcuse
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

2013-09-25 Thread marcuse
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.

2013-09-25 Thread marcuse
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.

2014-01-02 Thread marcuse
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.

2014-01-06 Thread marcuse
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

2014-01-06 Thread marcuse
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.

2014-01-06 Thread marcuse
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.

2014-01-29 Thread marcuse
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.

2014-01-31 Thread marcuse
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

2014-01-31 Thread marcuse
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.

2014-02-05 Thread marcuse
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.

2014-02-05 Thread marcuse
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

2014-02-05 Thread marcuse
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.

2014-02-06 Thread marcuse
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

2014-02-06 Thread marcuse
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

2014-02-06 Thread marcuse
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

2014-02-06 Thread marcuse
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

2014-02-06 Thread marcuse
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

2014-02-06 Thread marcuse
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

2014-02-06 Thread marcuse
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

2014-02-06 Thread marcuse
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.

2014-02-07 Thread marcuse
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

2014-02-08 Thread marcuse
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

2014-02-10 Thread marcuse
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

2014-02-10 Thread marcuse
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

2014-02-10 Thread marcuse
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

2014-02-10 Thread marcuse
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

2014-02-10 Thread marcuse
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

2014-02-10 Thread marcuse
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.

2014-02-11 Thread marcuse
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

2014-02-11 Thread marcuse
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.

2014-02-11 Thread marcuse
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

2014-02-11 Thread marcuse
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.

2014-02-11 Thread marcuse
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.

2014-02-11 Thread marcuse
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.

2014-02-12 Thread marcuse
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

2014-02-12 Thread marcuse
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.

2014-02-12 Thread marcuse
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

2013-04-24 Thread marcuse
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

2013-04-25 Thread marcuse
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

2013-04-25 Thread marcuse
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

2013-04-25 Thread marcuse
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

2013-04-25 Thread marcuse
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

2013-05-04 Thread marcuse
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

2013-05-04 Thread marcuse
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())



<    1   2   3   4   5   6   7   8   9   10   >