You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by ty...@apache.org on 2016/07/14 22:39:40 UTC
cassandra git commit: Prepend "dropped"/"truncated" to
pre-drop/truncate snapshot names
Repository: cassandra
Updated Branches:
refs/heads/trunk 26976160e -> 3c00a0674
Prepend "dropped"/"truncated" to pre-drop/truncate snapshot names
Patch by Geoffrey Yu; reviewed by Tyler Hobbs for CASSANDRA-12178
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/3c00a067
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/3c00a067
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/3c00a067
Branch: refs/heads/trunk
Commit: 3c00a0674a4e8b71ae25439dc2a0dece2f460d21
Parents: 2697616
Author: Geoffrey Yu <ge...@apple.com>
Authored: Thu Jul 14 17:39:27 2016 -0500
Committer: Tyler Hobbs <ty...@gmail.com>
Committed: Thu Jul 14 17:39:27 2016 -0500
----------------------------------------------------------------------
CHANGES.txt | 2 ++
NEWS.txt | 3 +++
src/java/org/apache/cassandra/config/Schema.java | 4 ++--
src/java/org/apache/cassandra/db/ColumnFamilyStore.java | 5 ++++-
src/java/org/apache/cassandra/db/Keyspace.java | 5 +++++
5 files changed, 16 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/3c00a067/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 0d1557b..ec4be3e 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,6 @@
3.10
+ * Prepend snapshot name with "truncated" or "dropped" when a snapshot
+ is taken before truncating or dropping a table (CASSANDRA-12178)
* Optimize RestrictionSet (CASSANDRA-12153)
* cqlsh does not automatically downgrade CQL version (CASSANDRA-12150)
* Omit (de)serialization of state variable in UDAs (CASSANDRA-9613)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/3c00a067/NEWS.txt
----------------------------------------------------------------------
diff --git a/NEWS.txt b/NEWS.txt
index fd6f005..56fb8cf 100644
--- a/NEWS.txt
+++ b/NEWS.txt
@@ -29,6 +29,9 @@ New features
testing and, as a consequence, it is not guaranteed to work in all cases.
See CASSANDRA-12150 for more details.
+ - Snapshots that are automatically taken before a table is dropped or truncated
+ will have a "dropped" or "truncated" prefix on their snapshot tag name.
+
Upgrading
---------
- Nothing specific to 3.10 but please see previous versions upgrading section,
http://git-wip-us.apache.org/repos/asf/cassandra/blob/3c00a067/src/java/org/apache/cassandra/config/Schema.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/config/Schema.java b/src/java/org/apache/cassandra/config/Schema.java
index 47d8198..dd42779 100644
--- a/src/java/org/apache/cassandra/config/Schema.java
+++ b/src/java/org/apache/cassandra/config/Schema.java
@@ -611,7 +611,7 @@ public class Schema
public void dropKeyspace(String ksName)
{
KeyspaceMetadata ksm = Schema.instance.getKSMetaData(ksName);
- String snapshotName = Keyspace.getTimestampedSnapshotName(ksName);
+ String snapshotName = Keyspace.getTimestampedSnapshotNameWithPrefix(ksName, ColumnFamilyStore.SNAPSHOT_DROP_PREFIX);
CompactionManager.instance.interruptCompactionFor(ksm.tablesAndViews(), true);
@@ -690,7 +690,7 @@ public class Schema
CompactionManager.instance.interruptCompactionFor(Collections.singleton(cfm), true);
if (DatabaseDescriptor.isAutoSnapshot())
- cfs.snapshot(Keyspace.getTimestampedSnapshotName(cfs.name));
+ cfs.snapshot(Keyspace.getTimestampedSnapshotNameWithPrefix(cfs.name, ColumnFamilyStore.SNAPSHOT_DROP_PREFIX));
Keyspace.open(ksName).dropCf(cfm.cfId);
MigrationManager.instance.notifyDropColumnFamily(cfm);
http://git-wip-us.apache.org/repos/asf/cassandra/blob/3c00a067/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 0a3ad52..938ea32 100644
--- a/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
+++ b/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
@@ -186,6 +186,9 @@ public class ColumnFamilyStore implements ColumnFamilyStoreMBean
private static final String SAMPLING_RESULTS_NAME = "SAMPLING_RESULTS";
private static final CompositeType SAMPLING_RESULT;
+ public static final String SNAPSHOT_TRUNCATE_PREFIX = "truncated";
+ public static final String SNAPSHOT_DROP_PREFIX = "dropped";
+
static
{
try
@@ -2158,7 +2161,7 @@ public class ColumnFamilyStore implements ColumnFamilyStoreMBean
data.notifyTruncated(truncatedAt);
if (DatabaseDescriptor.isAutoSnapshot())
- snapshot(Keyspace.getTimestampedSnapshotName(name));
+ snapshot(Keyspace.getTimestampedSnapshotNameWithPrefix(name, SNAPSHOT_TRUNCATE_PREFIX));
discardSSTables(truncatedAt);
http://git-wip-us.apache.org/repos/asf/cassandra/blob/3c00a067/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 6e44308..37ed1e1 100644
--- a/src/java/org/apache/cassandra/db/Keyspace.java
+++ b/src/java/org/apache/cassandra/db/Keyspace.java
@@ -263,6 +263,11 @@ public class Keyspace
return snapshotName;
}
+ public static String getTimestampedSnapshotNameWithPrefix(String clientSuppliedName, String prefix)
+ {
+ return prefix + "-" + getTimestampedSnapshotName(clientSuppliedName);
+ }
+
/**
* Check whether snapshots already exists for a given name.
*