fix the problem re-creating Keyspace/ColumnFamily
patch by Pavel Yaskevich; reviewed by Jonathan Ellis for CASSANDRA-4219


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

Branch: refs/heads/trunk
Commit: 96d6aa269bfa03cd3afc0da60424ca97886aa2ce
Parents: 0cee56b
Author: Pavel Yaskevich <[email protected]>
Authored: Tue May 15 17:18:37 2012 +0300
Committer: Pavel Yaskevich <[email protected]>
Committed: Tue May 15 17:18:37 2012 +0300

----------------------------------------------------------------------
 CHANGES.txt                                      |    1 +
 src/java/org/apache/cassandra/config/Schema.java |    2 +-
 src/java/org/apache/cassandra/db/DefsTable.java  |    2 +-
 3 files changed, 3 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/96d6aa26/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 1a5a7b7..3e3db3f 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -42,6 +42,7 @@
  * (cql3) Allow paging through non-ordered partitioner results (CASSANDRA-3771)
  * (cql3) Fix drop index (CASSANDRA-4192)
  * (cql3) Don't return range ghosts anymore (CASSANDRA-3982)
+ * fix the problem re-creating Keyspace/ColumnFamily (CASSANDRA-4219)
 Merged from 1.0:
  * Fix super columns bug where cache is not updated (CASSANDRA-4190)
  * fix maxTimestamp to include row tombstones (CASSANDRA-4116)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/96d6aa26/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 245fa5f..9501778 100644
--- a/src/java/org/apache/cassandra/config/Schema.java
+++ b/src/java/org/apache/cassandra/config/Schema.java
@@ -454,7 +454,7 @@ public class Schema
 
             for (Row row : SystemTable.serializedSchema())
             {
-                if (row.cf == null || row.cf.isMarkedForDelete() || 
row.cf.isEmpty())
+                if (row.cf == null || (row.cf.isMarkedForDelete() && 
row.cf.isEmpty()))
                     continue;
 
                 row.cf.updateDigest(versionDigest);

http://git-wip-us.apache.org/repos/asf/cassandra/blob/96d6aa26/src/java/org/apache/cassandra/db/DefsTable.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/DefsTable.java 
b/src/java/org/apache/cassandra/db/DefsTable.java
index 28ab4af..1b37de1 100644
--- a/src/java/org/apache/cassandra/db/DefsTable.java
+++ b/src/java/org/apache/cassandra/db/DefsTable.java
@@ -152,7 +152,7 @@ public class DefsTable
 
         for (Row row : serializedSchema)
         {
-            if (row.cf == null || row.cf.isEmpty() || 
row.cf.isMarkedForDelete())
+            if (row.cf == null || (row.cf.isMarkedForDelete() && 
row.cf.isEmpty()))
                 continue;
 
             keyspaces.add(KSMetaData.fromSchema(row, 
serializedColumnFamilies(row.key)));

Reply via email to