You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by ma...@apache.org on 2016/02/08 09:05:30 UTC

[01/10] cassandra git commit: Avoid mixing repaired and unrepaired sstables in DTCS

Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.1 26aa19e58 -> dd23adf14
  refs/heads/cassandra-2.2 66229705d -> 6982aaad8
  refs/heads/cassandra-3.0 11bddad51 -> d4fc9d0b0
  refs/heads/trunk 93f77c74d -> d3f0c32f0


Avoid mixing repaired and unrepaired sstables in DTCS

Patch by Blake Eggleston; reviewed by marcuse for CASSANDRA-11113


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/dd23adf1
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/dd23adf1
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/dd23adf1

Branch: refs/heads/cassandra-2.1
Commit: dd23adf1411e1ccd55a7d89437eccbbd916807f1
Parents: 26aa19e
Author: Blake Eggleston <bd...@gmail.com>
Authored: Fri Feb 5 17:23:48 2016 +0100
Committer: Marcus Eriksson <ma...@apache.org>
Committed: Mon Feb 8 08:49:37 2016 +0100

----------------------------------------------------------------------
 CHANGES.txt                                                 | 1 +
 .../db/compaction/DateTieredCompactionStrategy.java         | 9 +++++----
 2 files changed, 6 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/dd23adf1/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 1793c32..054ad1d 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.1.13
+ * Avoid major compaction mixing repaired and unrepaired sstables in DTCS (CASSANDRA-11113)
  * test_bulk_round_trip_blogposts is failing occasionally (CASSANDRA-10938)
  * Fix isJoined return true only after becoming cluster member (CASANDRA-11007)
  * Fix bad gossip generation seen in long-running clusters (CASSANDRA-10969)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/dd23adf1/src/java/org/apache/cassandra/db/compaction/DateTieredCompactionStrategy.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/compaction/DateTieredCompactionStrategy.java b/src/java/org/apache/cassandra/db/compaction/DateTieredCompactionStrategy.java
index ae684ec..64a599d 100644
--- a/src/java/org/apache/cassandra/db/compaction/DateTieredCompactionStrategy.java
+++ b/src/java/org/apache/cassandra/db/compaction/DateTieredCompactionStrategy.java
@@ -385,11 +385,12 @@ public class DateTieredCompactionStrategy extends AbstractCompactionStrategy
     @Override
     public synchronized Collection<AbstractCompactionTask> getMaximalTask(int gcBefore)
     {
-        Iterable<SSTableReader> sstables = cfs.markAllCompacting();
-        if (sstables == null)
+        Iterable<SSTableReader> filteredSSTables = filterSuspectSSTables(sstables);
+        if (Iterables.isEmpty(filteredSSTables))
             return null;
-
-        return Collections.<AbstractCompactionTask>singleton(new CompactionTask(cfs, sstables, gcBefore, false));
+        if (!cfs.getDataTracker().markCompacting(ImmutableList.copyOf(filteredSSTables)))
+            return null;
+        return Collections.<AbstractCompactionTask>singleton(new CompactionTask(cfs, filteredSSTables, gcBefore, false));
     }
 
     @Override


[07/10] cassandra git commit: Merge branch 'cassandra-2.1' into cassandra-2.2

Posted by ma...@apache.org.
Merge branch 'cassandra-2.1' into cassandra-2.2


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/6982aaad
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/6982aaad
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/6982aaad

Branch: refs/heads/trunk
Commit: 6982aaad85451711a8257a0046b6fc6f17db0b7c
Parents: 6622970 dd23adf
Author: Marcus Eriksson <ma...@apache.org>
Authored: Mon Feb 8 08:55:10 2016 +0100
Committer: Marcus Eriksson <ma...@apache.org>
Committed: Mon Feb 8 08:55:10 2016 +0100

----------------------------------------------------------------------
 CHANGES.txt                                               |  4 ++++
 .../db/compaction/DateTieredCompactionStrategy.java       | 10 ++++++----
 2 files changed, 10 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/6982aaad/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index 0d98779,054ad1d..12198e4
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,35 -1,5 +1,39 @@@
 -2.1.13
 +2.2.6
 + * Gossiper#isEnabled is not thread safe (CASSANDRA-11116)
 + * Fix paging on DISTINCT queries repeats result when first row in partition changes (CASSANDRA-10010)
++Merged from 2.1:
+  * Avoid major compaction mixing repaired and unrepaired sstables in DTCS (CASSANDRA-11113)
++
++
 +2.2.5
 + * maxPurgeableTimestamp needs to check memtables too (CASSANDRA-9949)
 + * Apply change to compaction throughput in real time (CASSANDRA-10025)
 + * Fix potential NPE on ORDER BY queries with IN (CASSANDRA-10955)
 + * Avoid over-fetching during the page of range queries (CASSANDRA-8521)
 + * Start L0 STCS-compactions even if there is a L0 -> L1 compaction
 +   going (CASSANDRA-10979)
 + * Make UUID LSB unique per process (CASSANDRA-7925)
 + * Avoid NPE when performing sstable tasks (scrub etc.) (CASSANDRA-10980)
 + * Make sure client gets tombstone overwhelmed warning (CASSANDRA-9465)
 + * Fix error streaming section more than 2GB (CASSANDRA-10961)
 + * (cqlsh) Also apply --connect-timeout to control connection
 +   timeout (CASSANDRA-10959)
 + * Histogram buckets exposed in jmx are sorted incorrectly (CASSANDRA-10975)
 + * Enable GC logging by default (CASSANDRA-10140)
 + * Optimize pending range computation (CASSANDRA-9258)
 + * Skip commit log and saved cache directories in SSTable version startup check (CASSANDRA-10902)
 + * drop/alter user should be case sensitive (CASSANDRA-10817)
 + * jemalloc detection fails due to quoting issues in regexv (CASSANDRA-10946)
 + * Support counter-columns for native aggregates (sum,avg,max,min) (CASSANDRA-9977)
 + * (cqlsh) show correct column names for empty result sets (CASSANDRA-9813)
 + * Add new types to Stress (CASSANDRA-9556)
 + * Add property to allow listening on broadcast interface (CASSANDRA-9748)
 + * Fix regression in split size on CqlInputFormat (CASSANDRA-10835)
 + * Better handling of SSL connection errors inter-node (CASSANDRA-10816)
 + * Disable reloading of GossipingPropertyFileSnitch (CASSANDRA-9474)
 + * Verify tables in pseudo-system keyspaces at startup (CASSANDRA-10761)
 + * (cqlsh) encode input correctly when saving history
 +Merged from 2.1:
   * test_bulk_round_trip_blogposts is failing occasionally (CASSANDRA-10938)
   * Fix isJoined return true only after becoming cluster member (CASANDRA-11007)
   * Fix bad gossip generation seen in long-running clusters (CASSANDRA-10969)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/6982aaad/src/java/org/apache/cassandra/db/compaction/DateTieredCompactionStrategy.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/db/compaction/DateTieredCompactionStrategy.java
index e2d884f,64a599d..8c59e1a
--- a/src/java/org/apache/cassandra/db/compaction/DateTieredCompactionStrategy.java
+++ b/src/java/org/apache/cassandra/db/compaction/DateTieredCompactionStrategy.java
@@@ -386,14 -383,14 +386,16 @@@ public class DateTieredCompactionStrate
      }
  
      @Override
 -    public synchronized Collection<AbstractCompactionTask> getMaximalTask(int gcBefore)
 +    @SuppressWarnings("resource")
 +    public synchronized Collection<AbstractCompactionTask> getMaximalTask(int gcBefore, boolean splitOutput)
      {
-         LifecycleTransaction modifier = cfs.markAllCompacting(OperationType.COMPACTION);
-         if (modifier == null)
+         Iterable<SSTableReader> filteredSSTables = filterSuspectSSTables(sstables);
+         if (Iterables.isEmpty(filteredSSTables))
              return null;
- 
-         return Collections.<AbstractCompactionTask>singleton(new CompactionTask(cfs, modifier, gcBefore, false));
 -        if (!cfs.getDataTracker().markCompacting(ImmutableList.copyOf(filteredSSTables)))
++        LifecycleTransaction txn = cfs.getTracker().tryModify(filteredSSTables, OperationType.COMPACTION);
++        if (txn == null)
+             return null;
 -        return Collections.<AbstractCompactionTask>singleton(new CompactionTask(cfs, filteredSSTables, gcBefore, false));
++        return Collections.<AbstractCompactionTask>singleton(new CompactionTask(cfs, txn, gcBefore, false));
      }
  
      @Override


[05/10] cassandra git commit: Merge branch 'cassandra-2.1' into cassandra-2.2

Posted by ma...@apache.org.
Merge branch 'cassandra-2.1' into cassandra-2.2


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/6982aaad
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/6982aaad
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/6982aaad

Branch: refs/heads/cassandra-3.0
Commit: 6982aaad85451711a8257a0046b6fc6f17db0b7c
Parents: 6622970 dd23adf
Author: Marcus Eriksson <ma...@apache.org>
Authored: Mon Feb 8 08:55:10 2016 +0100
Committer: Marcus Eriksson <ma...@apache.org>
Committed: Mon Feb 8 08:55:10 2016 +0100

----------------------------------------------------------------------
 CHANGES.txt                                               |  4 ++++
 .../db/compaction/DateTieredCompactionStrategy.java       | 10 ++++++----
 2 files changed, 10 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/6982aaad/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index 0d98779,054ad1d..12198e4
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,35 -1,5 +1,39 @@@
 -2.1.13
 +2.2.6
 + * Gossiper#isEnabled is not thread safe (CASSANDRA-11116)
 + * Fix paging on DISTINCT queries repeats result when first row in partition changes (CASSANDRA-10010)
++Merged from 2.1:
+  * Avoid major compaction mixing repaired and unrepaired sstables in DTCS (CASSANDRA-11113)
++
++
 +2.2.5
 + * maxPurgeableTimestamp needs to check memtables too (CASSANDRA-9949)
 + * Apply change to compaction throughput in real time (CASSANDRA-10025)
 + * Fix potential NPE on ORDER BY queries with IN (CASSANDRA-10955)
 + * Avoid over-fetching during the page of range queries (CASSANDRA-8521)
 + * Start L0 STCS-compactions even if there is a L0 -> L1 compaction
 +   going (CASSANDRA-10979)
 + * Make UUID LSB unique per process (CASSANDRA-7925)
 + * Avoid NPE when performing sstable tasks (scrub etc.) (CASSANDRA-10980)
 + * Make sure client gets tombstone overwhelmed warning (CASSANDRA-9465)
 + * Fix error streaming section more than 2GB (CASSANDRA-10961)
 + * (cqlsh) Also apply --connect-timeout to control connection
 +   timeout (CASSANDRA-10959)
 + * Histogram buckets exposed in jmx are sorted incorrectly (CASSANDRA-10975)
 + * Enable GC logging by default (CASSANDRA-10140)
 + * Optimize pending range computation (CASSANDRA-9258)
 + * Skip commit log and saved cache directories in SSTable version startup check (CASSANDRA-10902)
 + * drop/alter user should be case sensitive (CASSANDRA-10817)
 + * jemalloc detection fails due to quoting issues in regexv (CASSANDRA-10946)
 + * Support counter-columns for native aggregates (sum,avg,max,min) (CASSANDRA-9977)
 + * (cqlsh) show correct column names for empty result sets (CASSANDRA-9813)
 + * Add new types to Stress (CASSANDRA-9556)
 + * Add property to allow listening on broadcast interface (CASSANDRA-9748)
 + * Fix regression in split size on CqlInputFormat (CASSANDRA-10835)
 + * Better handling of SSL connection errors inter-node (CASSANDRA-10816)
 + * Disable reloading of GossipingPropertyFileSnitch (CASSANDRA-9474)
 + * Verify tables in pseudo-system keyspaces at startup (CASSANDRA-10761)
 + * (cqlsh) encode input correctly when saving history
 +Merged from 2.1:
   * test_bulk_round_trip_blogposts is failing occasionally (CASSANDRA-10938)
   * Fix isJoined return true only after becoming cluster member (CASANDRA-11007)
   * Fix bad gossip generation seen in long-running clusters (CASSANDRA-10969)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/6982aaad/src/java/org/apache/cassandra/db/compaction/DateTieredCompactionStrategy.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/db/compaction/DateTieredCompactionStrategy.java
index e2d884f,64a599d..8c59e1a
--- a/src/java/org/apache/cassandra/db/compaction/DateTieredCompactionStrategy.java
+++ b/src/java/org/apache/cassandra/db/compaction/DateTieredCompactionStrategy.java
@@@ -386,14 -383,14 +386,16 @@@ public class DateTieredCompactionStrate
      }
  
      @Override
 -    public synchronized Collection<AbstractCompactionTask> getMaximalTask(int gcBefore)
 +    @SuppressWarnings("resource")
 +    public synchronized Collection<AbstractCompactionTask> getMaximalTask(int gcBefore, boolean splitOutput)
      {
-         LifecycleTransaction modifier = cfs.markAllCompacting(OperationType.COMPACTION);
-         if (modifier == null)
+         Iterable<SSTableReader> filteredSSTables = filterSuspectSSTables(sstables);
+         if (Iterables.isEmpty(filteredSSTables))
              return null;
- 
-         return Collections.<AbstractCompactionTask>singleton(new CompactionTask(cfs, modifier, gcBefore, false));
 -        if (!cfs.getDataTracker().markCompacting(ImmutableList.copyOf(filteredSSTables)))
++        LifecycleTransaction txn = cfs.getTracker().tryModify(filteredSSTables, OperationType.COMPACTION);
++        if (txn == null)
+             return null;
 -        return Collections.<AbstractCompactionTask>singleton(new CompactionTask(cfs, filteredSSTables, gcBefore, false));
++        return Collections.<AbstractCompactionTask>singleton(new CompactionTask(cfs, txn, gcBefore, false));
      }
  
      @Override


[06/10] cassandra git commit: Merge branch 'cassandra-2.1' into cassandra-2.2

Posted by ma...@apache.org.
Merge branch 'cassandra-2.1' into cassandra-2.2


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/6982aaad
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/6982aaad
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/6982aaad

Branch: refs/heads/cassandra-2.2
Commit: 6982aaad85451711a8257a0046b6fc6f17db0b7c
Parents: 6622970 dd23adf
Author: Marcus Eriksson <ma...@apache.org>
Authored: Mon Feb 8 08:55:10 2016 +0100
Committer: Marcus Eriksson <ma...@apache.org>
Committed: Mon Feb 8 08:55:10 2016 +0100

----------------------------------------------------------------------
 CHANGES.txt                                               |  4 ++++
 .../db/compaction/DateTieredCompactionStrategy.java       | 10 ++++++----
 2 files changed, 10 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/6982aaad/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index 0d98779,054ad1d..12198e4
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,35 -1,5 +1,39 @@@
 -2.1.13
 +2.2.6
 + * Gossiper#isEnabled is not thread safe (CASSANDRA-11116)
 + * Fix paging on DISTINCT queries repeats result when first row in partition changes (CASSANDRA-10010)
++Merged from 2.1:
+  * Avoid major compaction mixing repaired and unrepaired sstables in DTCS (CASSANDRA-11113)
++
++
 +2.2.5
 + * maxPurgeableTimestamp needs to check memtables too (CASSANDRA-9949)
 + * Apply change to compaction throughput in real time (CASSANDRA-10025)
 + * Fix potential NPE on ORDER BY queries with IN (CASSANDRA-10955)
 + * Avoid over-fetching during the page of range queries (CASSANDRA-8521)
 + * Start L0 STCS-compactions even if there is a L0 -> L1 compaction
 +   going (CASSANDRA-10979)
 + * Make UUID LSB unique per process (CASSANDRA-7925)
 + * Avoid NPE when performing sstable tasks (scrub etc.) (CASSANDRA-10980)
 + * Make sure client gets tombstone overwhelmed warning (CASSANDRA-9465)
 + * Fix error streaming section more than 2GB (CASSANDRA-10961)
 + * (cqlsh) Also apply --connect-timeout to control connection
 +   timeout (CASSANDRA-10959)
 + * Histogram buckets exposed in jmx are sorted incorrectly (CASSANDRA-10975)
 + * Enable GC logging by default (CASSANDRA-10140)
 + * Optimize pending range computation (CASSANDRA-9258)
 + * Skip commit log and saved cache directories in SSTable version startup check (CASSANDRA-10902)
 + * drop/alter user should be case sensitive (CASSANDRA-10817)
 + * jemalloc detection fails due to quoting issues in regexv (CASSANDRA-10946)
 + * Support counter-columns for native aggregates (sum,avg,max,min) (CASSANDRA-9977)
 + * (cqlsh) show correct column names for empty result sets (CASSANDRA-9813)
 + * Add new types to Stress (CASSANDRA-9556)
 + * Add property to allow listening on broadcast interface (CASSANDRA-9748)
 + * Fix regression in split size on CqlInputFormat (CASSANDRA-10835)
 + * Better handling of SSL connection errors inter-node (CASSANDRA-10816)
 + * Disable reloading of GossipingPropertyFileSnitch (CASSANDRA-9474)
 + * Verify tables in pseudo-system keyspaces at startup (CASSANDRA-10761)
 + * (cqlsh) encode input correctly when saving history
 +Merged from 2.1:
   * test_bulk_round_trip_blogposts is failing occasionally (CASSANDRA-10938)
   * Fix isJoined return true only after becoming cluster member (CASANDRA-11007)
   * Fix bad gossip generation seen in long-running clusters (CASSANDRA-10969)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/6982aaad/src/java/org/apache/cassandra/db/compaction/DateTieredCompactionStrategy.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/db/compaction/DateTieredCompactionStrategy.java
index e2d884f,64a599d..8c59e1a
--- a/src/java/org/apache/cassandra/db/compaction/DateTieredCompactionStrategy.java
+++ b/src/java/org/apache/cassandra/db/compaction/DateTieredCompactionStrategy.java
@@@ -386,14 -383,14 +386,16 @@@ public class DateTieredCompactionStrate
      }
  
      @Override
 -    public synchronized Collection<AbstractCompactionTask> getMaximalTask(int gcBefore)
 +    @SuppressWarnings("resource")
 +    public synchronized Collection<AbstractCompactionTask> getMaximalTask(int gcBefore, boolean splitOutput)
      {
-         LifecycleTransaction modifier = cfs.markAllCompacting(OperationType.COMPACTION);
-         if (modifier == null)
+         Iterable<SSTableReader> filteredSSTables = filterSuspectSSTables(sstables);
+         if (Iterables.isEmpty(filteredSSTables))
              return null;
- 
-         return Collections.<AbstractCompactionTask>singleton(new CompactionTask(cfs, modifier, gcBefore, false));
 -        if (!cfs.getDataTracker().markCompacting(ImmutableList.copyOf(filteredSSTables)))
++        LifecycleTransaction txn = cfs.getTracker().tryModify(filteredSSTables, OperationType.COMPACTION);
++        if (txn == null)
+             return null;
 -        return Collections.<AbstractCompactionTask>singleton(new CompactionTask(cfs, filteredSSTables, gcBefore, false));
++        return Collections.<AbstractCompactionTask>singleton(new CompactionTask(cfs, txn, gcBefore, false));
      }
  
      @Override


[02/10] cassandra git commit: Avoid mixing repaired and unrepaired sstables in DTCS

Posted by ma...@apache.org.
Avoid mixing repaired and unrepaired sstables in DTCS

Patch by Blake Eggleston; reviewed by marcuse for CASSANDRA-11113


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/dd23adf1
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/dd23adf1
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/dd23adf1

Branch: refs/heads/cassandra-2.2
Commit: dd23adf1411e1ccd55a7d89437eccbbd916807f1
Parents: 26aa19e
Author: Blake Eggleston <bd...@gmail.com>
Authored: Fri Feb 5 17:23:48 2016 +0100
Committer: Marcus Eriksson <ma...@apache.org>
Committed: Mon Feb 8 08:49:37 2016 +0100

----------------------------------------------------------------------
 CHANGES.txt                                                 | 1 +
 .../db/compaction/DateTieredCompactionStrategy.java         | 9 +++++----
 2 files changed, 6 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/dd23adf1/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 1793c32..054ad1d 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.1.13
+ * Avoid major compaction mixing repaired and unrepaired sstables in DTCS (CASSANDRA-11113)
  * test_bulk_round_trip_blogposts is failing occasionally (CASSANDRA-10938)
  * Fix isJoined return true only after becoming cluster member (CASANDRA-11007)
  * Fix bad gossip generation seen in long-running clusters (CASSANDRA-10969)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/dd23adf1/src/java/org/apache/cassandra/db/compaction/DateTieredCompactionStrategy.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/compaction/DateTieredCompactionStrategy.java b/src/java/org/apache/cassandra/db/compaction/DateTieredCompactionStrategy.java
index ae684ec..64a599d 100644
--- a/src/java/org/apache/cassandra/db/compaction/DateTieredCompactionStrategy.java
+++ b/src/java/org/apache/cassandra/db/compaction/DateTieredCompactionStrategy.java
@@ -385,11 +385,12 @@ public class DateTieredCompactionStrategy extends AbstractCompactionStrategy
     @Override
     public synchronized Collection<AbstractCompactionTask> getMaximalTask(int gcBefore)
     {
-        Iterable<SSTableReader> sstables = cfs.markAllCompacting();
-        if (sstables == null)
+        Iterable<SSTableReader> filteredSSTables = filterSuspectSSTables(sstables);
+        if (Iterables.isEmpty(filteredSSTables))
             return null;
-
-        return Collections.<AbstractCompactionTask>singleton(new CompactionTask(cfs, sstables, gcBefore, false));
+        if (!cfs.getDataTracker().markCompacting(ImmutableList.copyOf(filteredSSTables)))
+            return null;
+        return Collections.<AbstractCompactionTask>singleton(new CompactionTask(cfs, filteredSSTables, gcBefore, false));
     }
 
     @Override


[03/10] cassandra git commit: Avoid mixing repaired and unrepaired sstables in DTCS

Posted by ma...@apache.org.
Avoid mixing repaired and unrepaired sstables in DTCS

Patch by Blake Eggleston; reviewed by marcuse for CASSANDRA-11113


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/dd23adf1
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/dd23adf1
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/dd23adf1

Branch: refs/heads/cassandra-3.0
Commit: dd23adf1411e1ccd55a7d89437eccbbd916807f1
Parents: 26aa19e
Author: Blake Eggleston <bd...@gmail.com>
Authored: Fri Feb 5 17:23:48 2016 +0100
Committer: Marcus Eriksson <ma...@apache.org>
Committed: Mon Feb 8 08:49:37 2016 +0100

----------------------------------------------------------------------
 CHANGES.txt                                                 | 1 +
 .../db/compaction/DateTieredCompactionStrategy.java         | 9 +++++----
 2 files changed, 6 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/dd23adf1/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 1793c32..054ad1d 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.1.13
+ * Avoid major compaction mixing repaired and unrepaired sstables in DTCS (CASSANDRA-11113)
  * test_bulk_round_trip_blogposts is failing occasionally (CASSANDRA-10938)
  * Fix isJoined return true only after becoming cluster member (CASANDRA-11007)
  * Fix bad gossip generation seen in long-running clusters (CASSANDRA-10969)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/dd23adf1/src/java/org/apache/cassandra/db/compaction/DateTieredCompactionStrategy.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/compaction/DateTieredCompactionStrategy.java b/src/java/org/apache/cassandra/db/compaction/DateTieredCompactionStrategy.java
index ae684ec..64a599d 100644
--- a/src/java/org/apache/cassandra/db/compaction/DateTieredCompactionStrategy.java
+++ b/src/java/org/apache/cassandra/db/compaction/DateTieredCompactionStrategy.java
@@ -385,11 +385,12 @@ public class DateTieredCompactionStrategy extends AbstractCompactionStrategy
     @Override
     public synchronized Collection<AbstractCompactionTask> getMaximalTask(int gcBefore)
     {
-        Iterable<SSTableReader> sstables = cfs.markAllCompacting();
-        if (sstables == null)
+        Iterable<SSTableReader> filteredSSTables = filterSuspectSSTables(sstables);
+        if (Iterables.isEmpty(filteredSSTables))
             return null;
-
-        return Collections.<AbstractCompactionTask>singleton(new CompactionTask(cfs, sstables, gcBefore, false));
+        if (!cfs.getDataTracker().markCompacting(ImmutableList.copyOf(filteredSSTables)))
+            return null;
+        return Collections.<AbstractCompactionTask>singleton(new CompactionTask(cfs, filteredSSTables, gcBefore, false));
     }
 
     @Override


[09/10] cassandra git commit: Merge branch 'cassandra-2.2' into cassandra-3.0

Posted by ma...@apache.org.
Merge branch 'cassandra-2.2' into cassandra-3.0


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/d4fc9d0b
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/d4fc9d0b
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/d4fc9d0b

Branch: refs/heads/trunk
Commit: d4fc9d0b0a352d46490e2c92335876c945cd575d
Parents: 11bddad 6982aaa
Author: Marcus Eriksson <ma...@apache.org>
Authored: Mon Feb 8 09:04:10 2016 +0100
Committer: Marcus Eriksson <ma...@apache.org>
Committed: Mon Feb 8 09:04:10 2016 +0100

----------------------------------------------------------------------
 CHANGES.txt                                               |  3 +++
 .../db/compaction/DateTieredCompactionStrategy.java       | 10 ++++++----
 2 files changed, 9 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/d4fc9d0b/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index 48321f1,12198e4..0fb8f34
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,45 -1,10 +1,48 @@@
 -2.2.6
 +3.0.4
 + * Hadoop integration is incompatible with Cassandra Driver 3.0.0 (CASSANDRA-11001)
 +Merged from 2.2.6
   * Gossiper#isEnabled is not thread safe (CASSANDRA-11116)
 - * Fix paging on DISTINCT queries repeats result when first row in partition changes (CASSANDRA-10010)
+ Merged from 2.1:
+  * Avoid major compaction mixing repaired and unrepaired sstables in DTCS (CASSANDRA-11113)
+ 
  
 +3.0.3
 + * Remove double initialization of newly added tables (CASSANDRA-11027)
 + * Filter keys searcher results by target range (CASSANDRA-11104)
 + * Fix deserialization of legacy read commands (CASSANDRA-11087)
 + * Fix incorrect computation of deletion time in sstable metadata (CASSANDRA-11102)
 + * Avoid memory leak when collecting sstable metadata (CASSANDRA-11026)
 + * Mutations do not block for completion under view lock contention (CASSANDRA-10779)
 + * Invalidate legacy schema tables when unloading them (CASSANDRA-11071)
 + * (cqlsh) handle INSERT and UPDATE statements with LWT conditions correctly
 +   (CASSANDRA-11003)
 + * Fix DISTINCT queries in mixed version clusters (CASSANDRA-10762)
 + * Migrate build status for indexes along with legacy schema (CASSANDRA-11046)
 + * Ensure SSTables for legacy KEYS indexes can be read (CASSANDRA-11045)
 + * Added support for IBM zSystems architecture (CASSANDRA-11054)
 + * Update CQL documentation (CASSANDRA-10899)
 + * Check the column name, not cell name, for dropped columns when reading
 +   legacy sstables (CASSANDRA-11018)
 + * Don't attempt to index clustering values of static rows (CASSANDRA-11021)
 + * Remove checksum files after replaying hints (CASSANDRA-10947)
 + * Support passing base table metadata to custom 2i validation (CASSANDRA-10924)
 + * Ensure stale index entries are purged during reads (CASSANDRA-11013)
 + * Fix AssertionError when removing from list using UPDATE (CASSANDRA-10954)
 + * Fix UnsupportedOperationException when reading old sstable with range
 +   tombstone (CASSANDRA-10743)
 + * MV should use the maximum timestamp of the primary key (CASSANDRA-10910)
 + * Fix potential assertion error during compaction (CASSANDRA-10944)
 + * Fix counting of received sstables in streaming (CASSANDRA-10949)
 + * Implement hints compression (CASSANDRA-9428)
 + * Fix potential assertion error when reading static columns (CASSANDRA-10903)
 + * Avoid NoSuchElementException when executing empty batch (CASSANDRA-10711)
 + * Avoid building PartitionUpdate in toString (CASSANDRA-10897)
 + * Reduce heap spent when receiving many SSTables (CASSANDRA-10797)
 + * Add back support for 3rd party auth providers to bulk loader (CASSANDRA-10873)
 + * Eliminate the dependency on jgrapht for UDT resolution (CASSANDRA-10653)
 + * (Hadoop) Close Clusters and Sessions in Hadoop Input/Output classes (CASSANDRA-10837)
 + * Fix sstableloader not working with upper case keyspace name (CASSANDRA-10806)
 +Merged from 2.2:
  2.2.5
   * maxPurgeableTimestamp needs to check memtables too (CASSANDRA-9949)
   * Apply change to compaction throughput in real time (CASSANDRA-10025)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/d4fc9d0b/src/java/org/apache/cassandra/db/compaction/DateTieredCompactionStrategy.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/db/compaction/DateTieredCompactionStrategy.java
index 50f9b71,8c59e1a..1addd0d
--- a/src/java/org/apache/cassandra/db/compaction/DateTieredCompactionStrategy.java
+++ b/src/java/org/apache/cassandra/db/compaction/DateTieredCompactionStrategy.java
@@@ -390,11 -389,13 +390,13 @@@ public class DateTieredCompactionStrate
      @SuppressWarnings("resource")
      public synchronized Collection<AbstractCompactionTask> getMaximalTask(int gcBefore, boolean splitOutput)
      {
-         LifecycleTransaction modifier = cfs.markAllCompacting(OperationType.COMPACTION);
-         if (modifier == null)
+         Iterable<SSTableReader> filteredSSTables = filterSuspectSSTables(sstables);
+         if (Iterables.isEmpty(filteredSSTables))
              return null;
- 
-         return Collections.<AbstractCompactionTask>singleton(new CompactionTask(cfs, modifier, gcBefore));
+         LifecycleTransaction txn = cfs.getTracker().tryModify(filteredSSTables, OperationType.COMPACTION);
+         if (txn == null)
+             return null;
 -        return Collections.<AbstractCompactionTask>singleton(new CompactionTask(cfs, txn, gcBefore, false));
++        return Collections.<AbstractCompactionTask>singleton(new CompactionTask(cfs, txn, gcBefore));
      }
  
      @Override


[08/10] cassandra git commit: Merge branch 'cassandra-2.2' into cassandra-3.0

Posted by ma...@apache.org.
Merge branch 'cassandra-2.2' into cassandra-3.0


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/d4fc9d0b
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/d4fc9d0b
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/d4fc9d0b

Branch: refs/heads/cassandra-3.0
Commit: d4fc9d0b0a352d46490e2c92335876c945cd575d
Parents: 11bddad 6982aaa
Author: Marcus Eriksson <ma...@apache.org>
Authored: Mon Feb 8 09:04:10 2016 +0100
Committer: Marcus Eriksson <ma...@apache.org>
Committed: Mon Feb 8 09:04:10 2016 +0100

----------------------------------------------------------------------
 CHANGES.txt                                               |  3 +++
 .../db/compaction/DateTieredCompactionStrategy.java       | 10 ++++++----
 2 files changed, 9 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/d4fc9d0b/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index 48321f1,12198e4..0fb8f34
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,45 -1,10 +1,48 @@@
 -2.2.6
 +3.0.4
 + * Hadoop integration is incompatible with Cassandra Driver 3.0.0 (CASSANDRA-11001)
 +Merged from 2.2.6
   * Gossiper#isEnabled is not thread safe (CASSANDRA-11116)
 - * Fix paging on DISTINCT queries repeats result when first row in partition changes (CASSANDRA-10010)
+ Merged from 2.1:
+  * Avoid major compaction mixing repaired and unrepaired sstables in DTCS (CASSANDRA-11113)
+ 
  
 +3.0.3
 + * Remove double initialization of newly added tables (CASSANDRA-11027)
 + * Filter keys searcher results by target range (CASSANDRA-11104)
 + * Fix deserialization of legacy read commands (CASSANDRA-11087)
 + * Fix incorrect computation of deletion time in sstable metadata (CASSANDRA-11102)
 + * Avoid memory leak when collecting sstable metadata (CASSANDRA-11026)
 + * Mutations do not block for completion under view lock contention (CASSANDRA-10779)
 + * Invalidate legacy schema tables when unloading them (CASSANDRA-11071)
 + * (cqlsh) handle INSERT and UPDATE statements with LWT conditions correctly
 +   (CASSANDRA-11003)
 + * Fix DISTINCT queries in mixed version clusters (CASSANDRA-10762)
 + * Migrate build status for indexes along with legacy schema (CASSANDRA-11046)
 + * Ensure SSTables for legacy KEYS indexes can be read (CASSANDRA-11045)
 + * Added support for IBM zSystems architecture (CASSANDRA-11054)
 + * Update CQL documentation (CASSANDRA-10899)
 + * Check the column name, not cell name, for dropped columns when reading
 +   legacy sstables (CASSANDRA-11018)
 + * Don't attempt to index clustering values of static rows (CASSANDRA-11021)
 + * Remove checksum files after replaying hints (CASSANDRA-10947)
 + * Support passing base table metadata to custom 2i validation (CASSANDRA-10924)
 + * Ensure stale index entries are purged during reads (CASSANDRA-11013)
 + * Fix AssertionError when removing from list using UPDATE (CASSANDRA-10954)
 + * Fix UnsupportedOperationException when reading old sstable with range
 +   tombstone (CASSANDRA-10743)
 + * MV should use the maximum timestamp of the primary key (CASSANDRA-10910)
 + * Fix potential assertion error during compaction (CASSANDRA-10944)
 + * Fix counting of received sstables in streaming (CASSANDRA-10949)
 + * Implement hints compression (CASSANDRA-9428)
 + * Fix potential assertion error when reading static columns (CASSANDRA-10903)
 + * Avoid NoSuchElementException when executing empty batch (CASSANDRA-10711)
 + * Avoid building PartitionUpdate in toString (CASSANDRA-10897)
 + * Reduce heap spent when receiving many SSTables (CASSANDRA-10797)
 + * Add back support for 3rd party auth providers to bulk loader (CASSANDRA-10873)
 + * Eliminate the dependency on jgrapht for UDT resolution (CASSANDRA-10653)
 + * (Hadoop) Close Clusters and Sessions in Hadoop Input/Output classes (CASSANDRA-10837)
 + * Fix sstableloader not working with upper case keyspace name (CASSANDRA-10806)
 +Merged from 2.2:
  2.2.5
   * maxPurgeableTimestamp needs to check memtables too (CASSANDRA-9949)
   * Apply change to compaction throughput in real time (CASSANDRA-10025)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/d4fc9d0b/src/java/org/apache/cassandra/db/compaction/DateTieredCompactionStrategy.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/db/compaction/DateTieredCompactionStrategy.java
index 50f9b71,8c59e1a..1addd0d
--- a/src/java/org/apache/cassandra/db/compaction/DateTieredCompactionStrategy.java
+++ b/src/java/org/apache/cassandra/db/compaction/DateTieredCompactionStrategy.java
@@@ -390,11 -389,13 +390,13 @@@ public class DateTieredCompactionStrate
      @SuppressWarnings("resource")
      public synchronized Collection<AbstractCompactionTask> getMaximalTask(int gcBefore, boolean splitOutput)
      {
-         LifecycleTransaction modifier = cfs.markAllCompacting(OperationType.COMPACTION);
-         if (modifier == null)
+         Iterable<SSTableReader> filteredSSTables = filterSuspectSSTables(sstables);
+         if (Iterables.isEmpty(filteredSSTables))
              return null;
- 
-         return Collections.<AbstractCompactionTask>singleton(new CompactionTask(cfs, modifier, gcBefore));
+         LifecycleTransaction txn = cfs.getTracker().tryModify(filteredSSTables, OperationType.COMPACTION);
+         if (txn == null)
+             return null;
 -        return Collections.<AbstractCompactionTask>singleton(new CompactionTask(cfs, txn, gcBefore, false));
++        return Collections.<AbstractCompactionTask>singleton(new CompactionTask(cfs, txn, gcBefore));
      }
  
      @Override


[10/10] cassandra git commit: Merge branch 'cassandra-3.0' into trunk

Posted by ma...@apache.org.
Merge branch 'cassandra-3.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/d3f0c32f
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/d3f0c32f
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/d3f0c32f

Branch: refs/heads/trunk
Commit: d3f0c32f0224cc0f606ac1e1e24f41688af72e4f
Parents: 93f77c7 d4fc9d0
Author: Marcus Eriksson <ma...@apache.org>
Authored: Mon Feb 8 09:04:17 2016 +0100
Committer: Marcus Eriksson <ma...@apache.org>
Committed: Mon Feb 8 09:04:17 2016 +0100

----------------------------------------------------------------------
 CHANGES.txt                                               |  3 +++
 .../db/compaction/DateTieredCompactionStrategy.java       | 10 ++++++----
 2 files changed, 9 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/d3f0c32f/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index a4f0421,0fb8f34..179da46
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -18,12 -2,11 +18,15 @@@ Merged from 3.0
   * Hadoop integration is incompatible with Cassandra Driver 3.0.0 (CASSANDRA-11001)
  Merged from 2.2.6
   * Gossiper#isEnabled is not thread safe (CASSANDRA-11116)
+ Merged from 2.1:
+  * Avoid major compaction mixing repaired and unrepaired sstables in DTCS (CASSANDRA-11113)
+ 
  
 -3.0.3
 +3.3
 + * Avoid infinite loop if owned range is smaller than number of
 +   data dirs (CASSANDRA-11034)
 + * Avoid bootstrap hanging when existing nodes have no data to stream (CASSANDRA-11010)
 +Merged from 3.0:
   * Remove double initialization of newly added tables (CASSANDRA-11027)
   * Filter keys searcher results by target range (CASSANDRA-11104)
   * Fix deserialization of legacy read commands (CASSANDRA-11087)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/d3f0c32f/src/java/org/apache/cassandra/db/compaction/DateTieredCompactionStrategy.java
----------------------------------------------------------------------


[04/10] cassandra git commit: Avoid mixing repaired and unrepaired sstables in DTCS

Posted by ma...@apache.org.
Avoid mixing repaired and unrepaired sstables in DTCS

Patch by Blake Eggleston; reviewed by marcuse for CASSANDRA-11113


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/dd23adf1
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/dd23adf1
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/dd23adf1

Branch: refs/heads/trunk
Commit: dd23adf1411e1ccd55a7d89437eccbbd916807f1
Parents: 26aa19e
Author: Blake Eggleston <bd...@gmail.com>
Authored: Fri Feb 5 17:23:48 2016 +0100
Committer: Marcus Eriksson <ma...@apache.org>
Committed: Mon Feb 8 08:49:37 2016 +0100

----------------------------------------------------------------------
 CHANGES.txt                                                 | 1 +
 .../db/compaction/DateTieredCompactionStrategy.java         | 9 +++++----
 2 files changed, 6 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/dd23adf1/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 1793c32..054ad1d 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.1.13
+ * Avoid major compaction mixing repaired and unrepaired sstables in DTCS (CASSANDRA-11113)
  * test_bulk_round_trip_blogposts is failing occasionally (CASSANDRA-10938)
  * Fix isJoined return true only after becoming cluster member (CASANDRA-11007)
  * Fix bad gossip generation seen in long-running clusters (CASSANDRA-10969)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/dd23adf1/src/java/org/apache/cassandra/db/compaction/DateTieredCompactionStrategy.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/compaction/DateTieredCompactionStrategy.java b/src/java/org/apache/cassandra/db/compaction/DateTieredCompactionStrategy.java
index ae684ec..64a599d 100644
--- a/src/java/org/apache/cassandra/db/compaction/DateTieredCompactionStrategy.java
+++ b/src/java/org/apache/cassandra/db/compaction/DateTieredCompactionStrategy.java
@@ -385,11 +385,12 @@ public class DateTieredCompactionStrategy extends AbstractCompactionStrategy
     @Override
     public synchronized Collection<AbstractCompactionTask> getMaximalTask(int gcBefore)
     {
-        Iterable<SSTableReader> sstables = cfs.markAllCompacting();
-        if (sstables == null)
+        Iterable<SSTableReader> filteredSSTables = filterSuspectSSTables(sstables);
+        if (Iterables.isEmpty(filteredSSTables))
             return null;
-
-        return Collections.<AbstractCompactionTask>singleton(new CompactionTask(cfs, sstables, gcBefore, false));
+        if (!cfs.getDataTracker().markCompacting(ImmutableList.copyOf(filteredSSTables)))
+            return null;
+        return Collections.<AbstractCompactionTask>singleton(new CompactionTask(cfs, filteredSSTables, gcBefore, false));
     }
 
     @Override