Repository: cassandra Updated Branches: refs/heads/cassandra-3.0 5a5d0a1eb -> 6663c5ff8 refs/heads/cassandra-3.7 326a263f4 -> b1cf0fe6b refs/heads/trunk beb6464c0 -> da9bb0306
Use CFS.initialDirectories when clearing snapshots patch by Blake Eggleston; reviewed by Aleksey Yeschenko for CASSANDRA-11705 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/6663c5ff Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/6663c5ff Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/6663c5ff Branch: refs/heads/cassandra-3.0 Commit: 6663c5ff898ff502fc3c69b9f36328c1d9f517e8 Parents: 5a5d0a1 Author: Blake Eggleston <bdeggles...@gmail.com> Authored: Tue May 3 09:00:57 2016 -0700 Committer: Aleksey Yeschenko <alek...@apache.org> Committed: Thu May 19 15:54:19 2016 +0100 ---------------------------------------------------------------------- CHANGES.txt | 2 ++ src/java/org/apache/cassandra/db/ColumnFamilyStore.java | 6 ++++++ src/java/org/apache/cassandra/db/Directories.java | 10 ++++++++-- src/java/org/apache/cassandra/db/Keyspace.java | 2 +- 4 files changed, 17 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/6663c5ff/CHANGES.txt ---------------------------------------------------------------------- diff --git a/CHANGES.txt b/CHANGES.txt index b3e7d5e..27398db 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 3.0.7 + * Use CFS.initialDirectories when clearing snapshots (CASSANDRA-11705) * Allow compaction strategies to disable early open (CASSANDRA-11754) * Refactor Materialized View code (CASSANDRA-11475) * Update Java Driver (CASSANDRA-11615) @@ -6,6 +7,7 @@ Merged from 2.2: * Add seconds to cqlsh tracing session duration (CASSANDRA-11753) * Prohibit Reversed Counter type as part of the PK (CASSANDRA-9395) + 3.0.6 * Disallow creating view with a static column (CASSANDRA-11602) * Reduce the amount of object allocations caused by the getFunctions methods (CASSANDRA-11593) http://git-wip-us.apache.org/repos/asf/cassandra/blob/6663c5ff/src/java/org/apache/cassandra/db/ColumnFamilyStore.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/db/ColumnFamilyStore.java b/src/java/org/apache/cassandra/db/ColumnFamilyStore.java index a6d5c17..f340b0a 100644 --- a/src/java/org/apache/cassandra/db/ColumnFamilyStore.java +++ b/src/java/org/apache/cassandra/db/ColumnFamilyStore.java @@ -116,6 +116,12 @@ public class ColumnFamilyStore implements ColumnFamilyStoreMBean initialDirectories = replacementArray; } + public static Directories.DataDirectory[] getInitialDirectories() + { + Directories.DataDirectory[] src = initialDirectories; + return Arrays.copyOf(src, src.length); + } + private static final Logger logger = LoggerFactory.getLogger(ColumnFamilyStore.class); private static final ExecutorService flushExecutor = new JMXEnabledThreadPoolExecutor(DatabaseDescriptor.getFlushWriters(), http://git-wip-us.apache.org/repos/asf/cassandra/blob/6663c5ff/src/java/org/apache/cassandra/db/Directories.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/db/Directories.java b/src/java/org/apache/cassandra/db/Directories.java index e00c8b9..f7bb390 100644 --- a/src/java/org/apache/cassandra/db/Directories.java +++ b/src/java/org/apache/cassandra/db/Directories.java @@ -903,11 +903,17 @@ public class Directories return visitor.getAllocatedSize(); } - // Recursively finds all the sub directories in the KS directory. public static List<File> getKSChildDirectories(String ksName) { + return getKSChildDirectories(ksName, dataDirectories); + + } + + // Recursively finds all the sub directories in the KS directory. + public static List<File> getKSChildDirectories(String ksName, DataDirectory[] directories) + { List<File> result = new ArrayList<>(); - for (DataDirectory dataDirectory : dataDirectories) + for (DataDirectory dataDirectory : directories) { File ksDir = new File(dataDirectory.location, ksName); File[] cfDirs = ksDir.listFiles(); http://git-wip-us.apache.org/repos/asf/cassandra/blob/6663c5ff/src/java/org/apache/cassandra/db/Keyspace.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/db/Keyspace.java b/src/java/org/apache/cassandra/db/Keyspace.java index 273946e..5865364 100644 --- a/src/java/org/apache/cassandra/db/Keyspace.java +++ b/src/java/org/apache/cassandra/db/Keyspace.java @@ -276,7 +276,7 @@ public class Keyspace */ public static void clearSnapshot(String snapshotName, String keyspace) { - List<File> snapshotDirs = Directories.getKSChildDirectories(keyspace); + List<File> snapshotDirs = Directories.getKSChildDirectories(keyspace, ColumnFamilyStore.getInitialDirectories()); Directories.clearSnapshot(snapshotName, snapshotDirs); }