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/trunk Commit: 7ff8e3c384df32eaca361cbb77632d04cc64060b Parents: 1ad710b Author: Sylvain Lebresne <sylv...@datastax.com> Authored: Fri Jul 27 10:06:33 2012 +0200 Committer: Sylvain Lebresne <sylv...@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(); }