From cec564d22ff0007e5dbc64085df63668ad90c689 Mon Sep 17 00:00:00 2001 From: Yuki Morishita Date: Fri, 13 Sep 2013 11:24:58 -0500 Subject: [PATCH] backport CASSANDRA-6011 --- CHANGES.txt | 1 + .../apache/cassandra/db/compaction/CompactionManager.java | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/CHANGES.txt b/CHANGES.txt index 8790518352..52f1b1813a 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,6 +1,7 @@ 1.1.next * Backport compaction exception handling from 1.2 * Correctly validate sparse composite cells in scrub (CASSANDRA-5855) + * Fix snapshots in use get deleted during snapshot repair (CASSANDRA-6011) 1.1.12 diff --git a/src/java/org/apache/cassandra/db/compaction/CompactionManager.java b/src/java/org/apache/cassandra/db/compaction/CompactionManager.java index b6f96b62f2..9dc3bffc26 100644 --- a/src/java/org/apache/cassandra/db/compaction/CompactionManager.java +++ b/src/java/org/apache/cassandra/db/compaction/CompactionManager.java @@ -688,7 +688,7 @@ public class CompactionManager implements CompactionManagerMBean return; Collection sstables; - if (cfs.table.snapshotExists(validator.request.sessionid)) + if (cfs.snapshotExists(validator.request.sessionid)) { // If there is a snapshot created for the session then read from there. sstables = cfs.getSnapshotSSTableReader(validator.request.sessionid); @@ -736,8 +736,8 @@ public class CompactionManager implements CompactionManagerMBean { SSTableReader.releaseReferences(sstables); iter.close(); - if (cfs.table.snapshotExists(validator.request.sessionid)) - cfs.table.clearSnapshot(validator.request.sessionid); + if (cfs.snapshotExists(validator.request.sessionid)) + cfs.clearSnapshot(validator.request.sessionid); validationExecutor.finishCompaction(ci); }