You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by yu...@apache.org on 2012/07/21 00:33:41 UTC

git commit: fix incorrect hasIrrelevantData result for live CF; patch by yukim, reviewed by jbellis/slebresne for CASSANDRA-3855

Updated Branches:
  refs/heads/trunk 2b62df244 -> d74103735


fix incorrect hasIrrelevantData result for live CF; patch by yukim, reviewed by jbellis/slebresne for CASSANDRA-3855


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

Branch: refs/heads/trunk
Commit: d74103735126658d64cb92a16f4bb40f63d5e2e8
Parents: 2b62df2
Author: Yuki Morishita <yu...@apache.org>
Authored: Fri Jul 20 17:33:05 2012 -0500
Committer: Yuki Morishita <yu...@apache.org>
Committed: Fri Jul 20 17:33:05 2012 -0500

----------------------------------------------------------------------
 .../cassandra/db/AbstractColumnContainer.java      |    7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/d7410373/src/java/org/apache/cassandra/db/AbstractColumnContainer.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/AbstractColumnContainer.java b/src/java/org/apache/cassandra/db/AbstractColumnContainer.java
index f58f6ab..2c86070 100644
--- a/src/java/org/apache/cassandra/db/AbstractColumnContainer.java
+++ b/src/java/org/apache/cassandra/db/AbstractColumnContainer.java
@@ -197,12 +197,13 @@ public abstract class AbstractColumnContainer implements IColumnContainer, IIter
 
     public boolean hasIrrelevantData(int gcBefore)
     {
-        if (deletionInfo().purge(gcBefore) == DeletionInfo.LIVE)
+        // Do we have gcable deletion infos?
+        if (!deletionInfo().purge(gcBefore).equals(deletionInfo()))
             return true;
 
-        long deletedAt = deletionInfo().maxTimestamp();
+        // Do we have colums that are either deleted by the container or gcable tombstone?
         for (IColumn column : columns)
-            if (column.mostRecentLiveChangeAt() <= deletedAt || column.hasIrrelevantData(gcBefore))
+            if (deletionInfo().isDeleted(column) || column.hasIrrelevantData(gcBefore))
                 return true;
 
         return false;