You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by xe...@apache.org on 2012/02/07 16:16:28 UTC

[1/2] git commit: merge from 1.0

Updated Branches:
  refs/heads/cassandra-1.1 3459c38d7 -> e04e7698a


merge from 1.0


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

Branch: refs/heads/cassandra-1.1
Commit: e04e7698a317215d6e6a2902a2456c572c0e100c
Parents: 3459c38 5452883
Author: Pavel Yaskevich <xe...@apache.org>
Authored: Tue Feb 7 18:13:43 2012 +0300
Committer: Pavel Yaskevich <xe...@apache.org>
Committed: Tue Feb 7 18:13:43 2012 +0300

----------------------------------------------------------------------
 CHANGES.txt                                        |    2 +
 .../org/apache/cassandra/db/ColumnFamilyStore.java |   20 +++++++++++++++
 .../cassandra/db/compaction/CompactionManager.java |   19 +++++---------
 .../apache/cassandra/db/index/SecondaryIndex.java  |    8 +++++-
 .../cassandra/db/index/SecondaryIndexManager.java  |   16 +++++++++++-
 .../apache/cassandra/db/index/keys/KeysIndex.java  |    5 +++
 6 files changed, 56 insertions(+), 14 deletions(-)
----------------------------------------------------------------------


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

http://git-wip-us.apache.org/repos/asf/cassandra/blob/e04e7698/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/db/ColumnFamilyStore.java
index c5073aa,0952ffd..afe695a
--- a/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
+++ b/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
@@@ -1850,10 -1940,23 +1850,30 @@@ public class ColumnFamilyStore implemen
          return view.sstables.isEmpty() && view.memtable.getOperations() == 0 && view.memtablesPendingFlush.isEmpty();
      }
  
 +    private boolean isRowCacheEnabled()
 +    {
 +        return !(metadata.getCaching() == CFMetaData.Caching.NONE
 +              || metadata.getCaching() == CFMetaData.Caching.KEYS_ONLY
 +              || CacheService.instance.rowCache.getCapacity() == 0);
 +    }
++
+     /**
+      * Discard all SSTables that were created before given timestamp. Caller is responsible to obtain compactionLock.
+      *
+      * @param truncatedAt The timestamp of the truncation
+      *                    (all SSTables before that timestamp are going be marked as compacted)
+      */
+     public void discardSSTables(long truncatedAt)
+     {
+         List<SSTableReader> truncatedSSTables = new ArrayList<SSTableReader>();
+ 
+         for (SSTableReader sstable : getSSTables())
+         {
+             if (!sstable.newSince(truncatedAt))
+                 truncatedSSTables.add(sstable);
+         }
+ 
+         if (!truncatedSSTables.isEmpty())
+             markCompacted(truncatedSSTables);
+     }
  }

http://git-wip-us.apache.org/repos/asf/cassandra/blob/e04e7698/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/db/compaction/CompactionManager.java
index c109b18,caaf6d2..c02aed2
--- a/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
+++ b/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
@@@ -37,10 -37,9 +37,11 @@@ import org.apache.cassandra.concurrent.
  import org.apache.cassandra.config.DatabaseDescriptor;
  import org.apache.cassandra.config.Schema;
  import org.apache.cassandra.db.*;
 +import org.apache.cassandra.db.compaction.CompactionInfo.Holder;
+ import org.apache.cassandra.db.index.SecondaryIndex;
  import org.apache.cassandra.db.index.SecondaryIndexBuilder;
  import org.apache.cassandra.dht.Range;
 +import org.apache.cassandra.dht.Token;
  import org.apache.cassandra.io.sstable.*;
  import org.apache.cassandra.io.util.FileUtils;
  import org.apache.cassandra.io.util.RandomAccessReader;
@@@ -1173,14 -1155,4 +1168,14 @@@ public class CompactionManager implemen
              }
          }
      }
 -}
 +
 +    public void stopCompaction(String type)
 +    {
 +        OperationType operation = OperationType.valueOf(type);
 +        for (Holder holder : CompactionExecutor.getCompactions())
 +        {
 +            if (holder.getCompactionInfo().getTaskType() == operation)
 +                holder.stop();
 +        }
 +    }
- }
++}

http://git-wip-us.apache.org/repos/asf/cassandra/blob/e04e7698/src/java/org/apache/cassandra/db/index/SecondaryIndex.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cassandra/blob/e04e7698/src/java/org/apache/cassandra/db/index/SecondaryIndexManager.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cassandra/blob/e04e7698/src/java/org/apache/cassandra/db/index/keys/KeysIndex.java
----------------------------------------------------------------------