Merge branch 'cassandra-1.2' into trunk

Conflicts:
        src/java/org/apache/cassandra/db/DeletionTime.java
        src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java
        
src/java/org/apache/cassandra/db/index/AbstractSimplePerColumnSecondaryIndex.java


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

Branch: refs/heads/trunk
Commit: 6cc50946300ba0a24d1028a0e266a3dc627ed404
Parents: 4021fff d38446a
Author: Sylvain Lebresne <sylv...@datastax.com>
Authored: Wed Jul 24 16:58:24 2013 +0200
Committer: Sylvain Lebresne <sylv...@datastax.com>
Committed: Wed Jul 24 16:58:24 2013 +0200

----------------------------------------------------------------------
 CHANGES.txt                                                     | 1 +
 src/java/org/apache/cassandra/db/DeletionTime.java              | 4 ++--
 src/java/org/apache/cassandra/db/RangeTombstone.java            | 4 ++--
 .../org/apache/cassandra/db/compaction/LazilyCompactedRow.java  | 3 +--
 .../db/index/AbstractSimplePerColumnSecondaryIndex.java         | 5 ++++-
 5 files changed, 10 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/6cc50946/CHANGES.txt
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cassandra/blob/6cc50946/src/java/org/apache/cassandra/db/DeletionTime.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/db/DeletionTime.java
index 5296529,deab30b..3d6fad4
--- a/src/java/org/apache/cassandra/db/DeletionTime.java
+++ b/src/java/org/apache/cassandra/db/DeletionTime.java
@@@ -83,9 -83,9 +83,9 @@@ public class DeletionTime implements Co
          return localDeletionTime < gcBefore;
      }
  
-     public boolean isDeleted(Column column, long now)
 -    public boolean isDeleted(IColumn column)
++    public boolean isDeleted(Column column)
      {
-         return column.isMarkedForDelete(now) && column.getMarkedForDeleteAt() 
<= markedForDeleteAt;
 -        return column.mostRecentLiveChangeAt() <= markedForDeleteAt;
++        return column.timestamp() <= markedForDeleteAt;
      }
  
      public long memorySize()

http://git-wip-us.apache.org/repos/asf/cassandra/blob/6cc50946/src/java/org/apache/cassandra/db/RangeTombstone.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/db/RangeTombstone.java
index cac50e8,5e87847..02dddb2
--- a/src/java/org/apache/cassandra/db/RangeTombstone.java
+++ b/src/java/org/apache/cassandra/db/RangeTombstone.java
@@@ -237,7 -239,7 +237,7 @@@ public class RangeTombstone extends Int
              }
          }
  
-         public boolean isDeleted(Column column, long now)
 -        public boolean isDeleted(IColumn column)
++        public boolean isDeleted(Column column)
          {
              for (RangeTombstone tombstone : ranges)
              {

http://git-wip-us.apache.org/repos/asf/cassandra/blob/6cc50946/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java
index 1f38494,9a03598..6390b14
--- a/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java
+++ b/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java
@@@ -246,10 -293,10 +246,9 @@@ public class LazilyCompactedRow extend
  
                  // PrecompactedRow.removeDeletedAndOldShards have only 
checked the top-level CF deletion times,
                  // not the range tombstone. For that we use the columnIndexer 
tombstone tracker.
-                 // Note that this doesn't work for super columns.
-                 if (indexBuilder.tombstoneTracker().isDeleted(reduced, 
System.currentTimeMillis()))
+                 if (indexBuilder.tombstoneTracker().isDeleted(reduced))
                      return null;
  
 -                serializedSize += reduced.serializedSizeForSSTable();
                  columns++;
                  minTimestampSeen = Math.min(minTimestampSeen, 
reduced.minTimestamp());
                  maxTimestampSeen = Math.max(maxTimestampSeen, 
reduced.maxTimestamp());

http://git-wip-us.apache.org/repos/asf/cassandra/blob/6cc50946/src/java/org/apache/cassandra/db/index/AbstractSimplePerColumnSecondaryIndex.java
----------------------------------------------------------------------
diff --cc 
src/java/org/apache/cassandra/db/index/AbstractSimplePerColumnSecondaryIndex.java
index 73f818f,2ff2d27..afc7409
--- 
a/src/java/org/apache/cassandra/db/index/AbstractSimplePerColumnSecondaryIndex.java
+++ 
b/src/java/org/apache/cassandra/db/index/AbstractSimplePerColumnSecondaryIndex.java
@@@ -83,31 -79,35 +83,34 @@@ public abstract class AbstractSimplePer
      public String expressionString(IndexExpression expr)
      {
          return String.format("'%s.%s %s %s'",
 -                             baseCfs.columnFamily,
 +                             baseCfs.name,
                               
getExpressionComparator().getString(expr.column_name),
                               expr.op,
 -                             
baseCfs.metadata.getColumn_metadata().get(expr.column_name).getValidator().getString(expr.value));
 +                             
baseCfs.metadata.getColumnDefinition(expr.column_name).getValidator().getString(expr.value));
      }
  
 -
 -    public void delete(ByteBuffer rowKey, IColumn column)
 +    public void delete(ByteBuffer rowKey, Column column)
      {
 -        if (column.isMarkedForDelete())
 +        if (column.isMarkedForDelete(System.currentTimeMillis()))
              return;
  
 -        DecoratedKey valueKey = getIndexKeyFor(column.value());
 +        DecoratedKey valueKey = getIndexKeyFor(getIndexedValue(rowKey, 
column));
          int localDeletionTime = (int) (System.currentTimeMillis() / 1000);
 -        ColumnFamily cfi = ColumnFamily.create(indexCfs.metadata);
 +        ColumnFamily cfi = 
ArrayBackedSortedColumns.factory.create(indexCfs.metadata);
-         cfi.addTombstone(makeIndexColumnName(rowKey, column), 
localDeletionTime, column.timestamp());
+         ByteBuffer name = makeIndexColumnName(rowKey, column);
 -        assert name.remaining() > 0 && name.remaining() <= 
IColumn.MAX_NAME_LENGTH : name.remaining();
++        assert name.remaining() > 0 && name.remaining() <= 
Column.MAX_NAME_LENGTH : name.remaining();
+         cfi.addTombstone(name, localDeletionTime, column.timestamp());
          indexCfs.apply(valueKey, cfi, SecondaryIndexManager.nullUpdater);
          if (logger.isDebugEnabled())
              logger.debug("removed index entry for cleaned-up value {}:{}", 
valueKey, cfi);
      }
  
 -    public void insert(ByteBuffer rowKey, IColumn column)
 +    public void insert(ByteBuffer rowKey, Column column)
      {
 -        DecoratedKey valueKey = getIndexKeyFor(column.value());
 -        ColumnFamily cfi = ColumnFamily.create(indexCfs.metadata);
 +        DecoratedKey valueKey = getIndexKeyFor(getIndexedValue(rowKey, 
column));
 +        ColumnFamily cfi = 
ArrayBackedSortedColumns.factory.create(indexCfs.metadata);
          ByteBuffer name = makeIndexColumnName(rowKey, column);
 -        assert name.remaining() > 0 && name.remaining() <= 
IColumn.MAX_NAME_LENGTH : name.remaining();
++        assert name.remaining() > 0 && name.remaining() <= 
Column.MAX_NAME_LENGTH : name.remaining();
          if (column instanceof ExpiringColumn)
          {
              ExpiringColumn ec = (ExpiringColumn)column;

Reply via email to