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()