Merge branch 'cassandra-1.1' into trunk Conflicts: src/java/org/apache/cassandra/db/compaction/CompactionManager.java
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/49f29741 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/49f29741 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/49f29741 Branch: refs/heads/cassandra-1.1 Commit: 49f297417d121354851faf7a820e56243e49f15c Parents: d6b7dd6 aba1f16 Author: Sylvain Lebresne <sylv...@datastax.com> Authored: Mon Jul 23 19:21:12 2012 +0200 Committer: Sylvain Lebresne <sylv...@datastax.com> Committed: Mon Jul 23 19:21:12 2012 +0200 ---------------------------------------------------------------------- CHANGES.txt | 1 + .../cassandra/db/compaction/CompactionManager.java | 24 ++++++++++++++- 2 files changed, 24 insertions(+), 1 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/49f29741/CHANGES.txt ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/49f29741/src/java/org/apache/cassandra/db/compaction/CompactionManager.java ---------------------------------------------------------------------- diff --cc src/java/org/apache/cassandra/db/compaction/CompactionManager.java index 6a1c850,4b39280..c9a3823 --- a/src/java/org/apache/cassandra/db/compaction/CompactionManager.java +++ b/src/java/org/apache/cassandra/db/compaction/CompactionManager.java @@@ -844,7 -834,31 +844,29 @@@ public class CompactionManager implemen { super(OperationType.VALIDATION, cfs.getCompactionStrategy().getScanners(sstables, range), - new CompactionController(cfs, sstables, getDefaultGcBefore(cfs), true)); + new ValidationCompactionController(cfs, sstables)); + } + } + + /* + * Controller for validation compaction that never purges. + * Note that we should not call cfs.getOverlappingSSTables on the provided + * sstables because those sstables are not guaranteed to be active sstables + * (since we can run repair on a snapshot). + */ + private static class ValidationCompactionController extends CompactionController + { + public ValidationCompactionController(ColumnFamilyStore cfs, Collection<SSTableReader> sstables) + { + super(cfs, + Integer.MAX_VALUE, - true, - null, - cfs.getCompactionStrategy().isKeyExistenceExpensive(ImmutableSet.copyOf(sstables))); ++ null); + } + + @Override + public boolean shouldPurge(DecoratedKey key) + { + return false; } }