You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by jb...@apache.org on 2009/04/29 04:01:49 UTC

svn commit: r769628 - in /incubator/cassandra/trunk/src/org/apache/cassandra/db: Memtable.java SuperColumn.java

Author: jbellis
Date: Wed Apr 29 02:01:49 2009
New Revision: 769628

URL: http://svn.apache.org/viewvc?rev=769628&view=rev
Log:
fix propagating SuperColumn tombstones from Memtable to caller.
patch by jbellis; reviewed by Eric Evans for #101

Modified:
    incubator/cassandra/trunk/src/org/apache/cassandra/db/Memtable.java
    incubator/cassandra/trunk/src/org/apache/cassandra/db/SuperColumn.java

Modified: incubator/cassandra/trunk/src/org/apache/cassandra/db/Memtable.java
URL: http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/org/apache/cassandra/db/Memtable.java?rev=769628&r1=769627&r2=769628&view=diff
==============================================================================
--- incubator/cassandra/trunk/src/org/apache/cassandra/db/Memtable.java (original)
+++ incubator/cassandra/trunk/src/org/apache/cassandra/db/Memtable.java Wed Apr 29 02:01:49 2009
@@ -329,7 +329,10 @@
                     if (subColumn != null)
                     {
                         columnFamily = cFamily.cloneMeShallow();
-                        columnFamily.addColumn(values[1] + ":" + values[2], subColumn.value(), subColumn.timestamp(), subColumn.isMarkedForDelete());
+                        SuperColumn container = new SuperColumn(superColumn.name());
+                        container.markForDeleteAt(superColumn.getLocalDeletionTime(), superColumn.getMarkedForDeleteAt());
+                        container.addColumn(subColumn.name(), subColumn);
+                        columnFamily.addColumn(container);
                     }
                 }
         	}

Modified: incubator/cassandra/trunk/src/org/apache/cassandra/db/SuperColumn.java
URL: http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/org/apache/cassandra/db/SuperColumn.java?rev=769628&r1=769627&r2=769628&view=diff
==============================================================================
--- incubator/cassandra/trunk/src/org/apache/cassandra/db/SuperColumn.java (original)
+++ incubator/cassandra/trunk/src/org/apache/cassandra/db/SuperColumn.java Wed Apr 29 02:01:49 2009
@@ -213,7 +213,10 @@
         {
         	addColumn(subColumn.name(), subColumn);
         }
-        markedForDeleteAt = Math.max(markedForDeleteAt, column.getMarkedForDeleteAt());
+        if (column.getMarkedForDeleteAt() > markedForDeleteAt)
+        {
+            markForDeleteAt(column.getLocalDeletionTime(),  column.getMarkedForDeleteAt());
+        }
     }
 
     public int getObjectCount()