Updated Branches:
  refs/heads/cassandra-1.2 ed3215d76 -> c96cce9ee
  refs/heads/trunk 696fe1c13 -> 8de7651b3


remove the index entry on oldColumn when new column is a tombstone
patch by jbellis; reviewed by Sam Tunnicliffe for CASSANDRA-5395


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

Branch: refs/heads/cassandra-1.2
Commit: 0ab3d60fb78194ab2d7dd04ae590f871a9286c31
Parents: ed3215d
Author: Jonathan Ellis <jbel...@apache.org>
Authored: Wed Mar 27 14:33:53 2013 -0500
Committer: Jonathan Ellis <jbel...@apache.org>
Committed: Fri Mar 29 12:04:07 2013 -0500

----------------------------------------------------------------------
 .../cassandra/db/index/SecondaryIndexManager.java  |   12 ++++--------
 1 files changed, 4 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/0ab3d60f/src/java/org/apache/cassandra/db/index/SecondaryIndexManager.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/index/SecondaryIndexManager.java 
b/src/java/org/apache/cassandra/db/index/SecondaryIndexManager.java
index 1be04dd..83374d9 100644
--- a/src/java/org/apache/cassandra/db/index/SecondaryIndexManager.java
+++ b/src/java/org/apache/cassandra/db/index/SecondaryIndexManager.java
@@ -610,15 +610,13 @@ public class SecondaryIndexManager
 
         public void update(IColumn oldColumn, IColumn column)
         {
-            if (column.isMarkedForDelete())
-                return;
-
             SecondaryIndex index = indexFor(column.name());
             if (index == null)
                 return;
 
             ((PerColumnSecondaryIndex) index).delete(key.key, oldColumn);
-            ((PerColumnSecondaryIndex) index).insert(key.key, column);
+            if (!column.isMarkedForDelete())
+                ((PerColumnSecondaryIndex) index).insert(key.key, column);
         }
 
         public void remove(IColumn column)
@@ -666,9 +664,6 @@ public class SecondaryIndexManager
 
         public void update(IColumn oldColumn, IColumn column)
         {
-            if (column.isMarkedForDelete())
-                return;
-
             SecondaryIndex index = indexFor(column.name());
             if (index == null)
                 return;
@@ -676,7 +671,8 @@ public class SecondaryIndexManager
             if (index instanceof  PerColumnSecondaryIndex)
             {
                 ((PerColumnSecondaryIndex) index).delete(key.key, oldColumn);
-                ((PerColumnSecondaryIndex) index).insert(key.key, column);
+                if (!column.isMarkedForDelete())
+                    ((PerColumnSecondaryIndex) index).insert(key.key, column);
             }
             else
             {

Reply via email to