Allow reusing snapshot tags across different column families.

patch by Yifu Wang; reviewed by yukim for CASSANDRA-8056


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

Branch: refs/heads/trunk
Commit: 0ff9c3cb222be634e46c378bb357ba0658e0e55b
Parents: 102f59c
Author: Yifu Wang <yifuwang2...@gmail.com>
Authored: Sat Nov 29 00:45:27 2014 -0800
Committer: Yuki Morishita <yu...@apache.org>
Committed: Mon Mar 30 16:59:31 2015 -0500

----------------------------------------------------------------------
 CHANGES.txt                                               | 1 +
 src/java/org/apache/cassandra/service/StorageService.java | 5 +++--
 2 files changed, 4 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/0ff9c3cb/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 9494f61..539c4c8 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -24,6 +24,7 @@
  * Fix CQLSSTableWriter throwing exception and spawning threads
    (CASSANDRA-8808)
  * Fix MT mismatch between empty and GC-able data (CASSANDRA-8979)
+ * Fix incorrect validation when snapshotting single table (CASSANDRA-8056)
 
 
 2.0.13:

http://git-wip-us.apache.org/repos/asf/cassandra/blob/0ff9c3cb/src/java/org/apache/cassandra/service/StorageService.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/service/StorageService.java 
b/src/java/org/apache/cassandra/service/StorageService.java
index d997459..cfd8fe1 100644
--- a/src/java/org/apache/cassandra/service/StorageService.java
+++ b/src/java/org/apache/cassandra/service/StorageService.java
@@ -2257,10 +2257,11 @@ public class StorageService extends 
NotificationBroadcasterSupport implements IE
             throw new IOException("You must supply a snapshot name.");
 
         Keyspace keyspace = getValidKeyspace(keyspaceName);
-        if (keyspace.snapshotExists(tag))
+        ColumnFamilyStore columnFamilyStore = 
keyspace.getColumnFamilyStore(columnFamilyName);
+        if (columnFamilyStore.snapshotExists(tag))
             throw new IOException("Snapshot " + tag + " already exists.");
 
-        keyspace.snapshot(tag, columnFamilyName);
+        columnFamilyStore.snapshot(tag);
     }
 
     private Keyspace getValidKeyspace(String keyspaceName) throws IOException

Reply via email to