You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by sl...@apache.org on 2012/07/27 10:14:46 UTC

[2/2] git commit: Don't purge columns during upgradesstables

Don't purge columns during upgradesstables

patch by slebresne; reviewed by jbellis for CASSANDRA-4462


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

Branch: refs/heads/cassandra-1.1
Commit: 7ff8e3c384df32eaca361cbb77632d04cc64060b
Parents: 1ad710b
Author: Sylvain Lebresne <sy...@datastax.com>
Authored: Fri Jul 27 10:06:33 2012 +0200
Committer: Sylvain Lebresne <sy...@datastax.com>
Committed: Fri Jul 27 10:06:33 2012 +0200

----------------------------------------------------------------------
 CHANGES.txt                                        |    1 +
 .../cassandra/db/compaction/CompactionManager.java |    7 +++++--
 2 files changed, 6 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/7ff8e3c3/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 79278aa..b3fa1a8 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -12,6 +12,7 @@
  * fix 1.0.x node join to mixed version cluster, other nodes >= 1.1 (CASSANDRA-4195)
  * Fix LCS splitting sstable base on uncompressed size (CASSANDRA-4419)
  * Push the validation of secondary index values to the SecondaryIndexManager (CASSANDRA-4240)
+ * Don't purge columns during upgradesstables (CASSANDRA-4462)
 
 1.0.10
  * fix maxTimestamp to include row tombstones (CASSANDRA-4116)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/7ff8e3c3/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 872ce0b..2400cfe 100644
--- a/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
+++ b/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
@@ -67,6 +67,9 @@ public class CompactionManager implements CompactionManagerMBean
     private static final Logger logger = LoggerFactory.getLogger(CompactionManager.class);
     public static final CompactionManager instance;
 
+    public static final int NO_GC = Integer.MIN_VALUE;
+    public static final int GC_ALL = Integer.MAX_VALUE;
+
     /**
      * compactionLock has two purposes:
      * - Compaction acquires its readLock so that multiple compactions can happen simultaneously,
@@ -238,7 +241,7 @@ public class CompactionManager implements CompactionManagerMBean
                 {
                     // SSTables are marked by the caller
                     // NOTE: it is important that the task create one and only one sstable, even for Leveled compaction (see LeveledManifest.replace())
-                    CompactionTask task = new CompactionTask(cfs, Collections.singletonList(sstable), Integer.MAX_VALUE);
+                    CompactionTask task = new CompactionTask(cfs, Collections.singletonList(sstable), NO_GC);
                     task.isUserDefined(true);
                     task.setCompactionType(OperationType.UPGRADE_SSTABLES);
                     task.execute(executor);
@@ -974,7 +977,7 @@ public class CompactionManager implements CompactionManagerMBean
     static int getDefaultGcBefore(ColumnFamilyStore cfs)
     {
         return cfs.isIndex()
-               ? Integer.MAX_VALUE
+               ? GC_ALL
                : (int) (System.currentTimeMillis() / 1000) - cfs.metadata.getGcGraceSeconds();
     }