Updated Branches:
  refs/heads/cassandra-1.1 1686a36ed -> 46e422a94
  refs/heads/trunk 4b9a80231 -> 06a7bf36b


Merge branch 'cassandra-1.1' into trunk


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

Branch: refs/heads/trunk
Commit: 06a7bf36b7b2ab6f45ca0765c547949cc9647bc3
Parents: 4b9a802 46e422a
Author: Jonathan Ellis <jbel...@apache.org>
Authored: Wed May 2 12:48:30 2012 -0500
Committer: Jonathan Ellis <jbel...@apache.org>
Committed: Wed May 2 12:48:30 2012 -0500

----------------------------------------------------------------------
 CHANGES.txt                                        |    2 +
 .../cassandra/cql3/statements/SelectStatement.java |    8 +-
 .../db/compaction/AbstractCompactionIterable.java  |   17 +--
 .../db/compaction/AbstractCompactionStrategy.java  |   23 +++-
 .../db/compaction/CompactionIterable.java          |   20 +---
 .../cassandra/db/compaction/CompactionManager.java |   16 +--
 .../cassandra/db/compaction/CompactionTask.java    |    7 +-
 .../db/compaction/ICompactionScanner.java          |   34 +++++
 .../db/compaction/LeveledCompactionStrategy.java   |  103 ++++++++++++++-
 .../cassandra/db/compaction/LeveledManifest.java   |    3 +-
 .../db/compaction/ParallelCompactionIterable.java  |   24 ++--
 .../apache/cassandra/io/sstable/SSTableReader.java |    2 +
 .../cassandra/io/sstable/SSTableScanner.java       |   13 ++-
 .../cassandra/service/AntiEntropyService.java      |    4 +-
 test/conf/cassandra.yaml                           |    1 +
 test/unit/org/apache/cassandra/SchemaLoader.java   |    9 +-
 .../compaction/LeveledCompactionStrategyTest.java  |   87 ++++++++++++
 .../cassandra/io/LazilyCompactedRowTest.java       |   14 +-
 18 files changed, 305 insertions(+), 82 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/06a7bf36/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index 890c577,83c171b..bac8b0e
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,14 -1,5 +1,15 @@@
 +1.2-dev
 + * Track tombstone expiration and compact when tombstone content is
 +   higher than a configurable threshold, default 20% (CASSANDRA-3442)
 + * update MurmurHash to version 3 (CASSANDRA-2975)
 + * (CLI) track elapsed time for `delete' operation (CASSANDRA-4060)
 + * (CLI) jline version is bumped to 1.0 to properly  support
 +   'delete' key function (CASSANDRA-4132)
 + * Save IndexSummary into new SSTable 'Summary' component (CASSANDRA-2392)
 +
 +
  1.1.1-dev
+  * Open 1 sstableScanner per level for leveled compaction (CASSANDRA-4142)
   * Optimize reads when row deletion timestamps allow us to restrict
     the set of sstables we check (CASSANDRA-4116)
   * incremental repair by token range (CASSANDRA-3912)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/06a7bf36/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cassandra/blob/06a7bf36/src/java/org/apache/cassandra/db/compaction/AbstractCompactionIterable.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cassandra/blob/06a7bf36/src/java/org/apache/cassandra/db/compaction/AbstractCompactionStrategy.java
----------------------------------------------------------------------
diff --cc 
src/java/org/apache/cassandra/db/compaction/AbstractCompactionStrategy.java
index 5e0a911,3f51b88..41128b0
--- 
a/src/java/org/apache/cassandra/db/compaction/AbstractCompactionStrategy.java
+++ 
b/src/java/org/apache/cassandra/db/compaction/AbstractCompactionStrategy.java
@@@ -15,8 -15,10 +15,9 @@@
   * See the License for the specific language governing permissions and
   * limitations under the License.
   */
 -
  package org.apache.cassandra.db.compaction;
  
+ import java.io.IOException;
  import java.util.*;
  import java.util.concurrent.TimeUnit;
  

http://git-wip-us.apache.org/repos/asf/cassandra/blob/06a7bf36/src/java/org/apache/cassandra/db/compaction/CompactionIterable.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cassandra/blob/06a7bf36/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cassandra/blob/06a7bf36/src/java/org/apache/cassandra/db/compaction/CompactionTask.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/db/compaction/CompactionTask.java
index 96a4273,b66f20b..be7fc81
--- a/src/java/org/apache/cassandra/db/compaction/CompactionTask.java
+++ b/src/java/org/apache/cassandra/db/compaction/CompactionTask.java
@@@ -119,11 -124,11 +120,11 @@@ public class CompactionTask extends Abs
              logger.debug("Expected bloom filter size : " + keysPerSSTable);
  
          AbstractCompactionIterable ci = 
DatabaseDescriptor.isMultithreadedCompaction()
-                                       ? new 
ParallelCompactionIterable(compactionType, toCompact, controller)
-                                       : new 
CompactionIterable(compactionType, toCompact, controller);
+                                       ? new 
ParallelCompactionIterable(compactionType, strategy.getScanners(toCompact), 
controller)
+                                       : new 
CompactionIterable(compactionType, strategy.getScanners(toCompact), controller);
          CloseableIterator<AbstractCompactedRow> iter = ci.iterator();
          Iterator<AbstractCompactedRow> nni = Iterators.filter(iter, 
Predicates.notNull());
 -        Map<DecoratedKey, Long> cachedKeys = new HashMap<DecoratedKey, 
Long>();
 +        Map<DecoratedKey, RowIndexEntry> cachedKeys = new 
HashMap<DecoratedKey, RowIndexEntry>();
  
          // we can't preheat until the tracker has been set. This doesn't 
happen until we tell the cfs to
          // replace the old entries.  Track entries to preheat here until then.

http://git-wip-us.apache.org/repos/asf/cassandra/blob/06a7bf36/src/java/org/apache/cassandra/db/compaction/LeveledCompactionStrategy.java
----------------------------------------------------------------------
diff --cc 
src/java/org/apache/cassandra/db/compaction/LeveledCompactionStrategy.java
index 0d5bdc7,1bc40fd..361c333
--- a/src/java/org/apache/cassandra/db/compaction/LeveledCompactionStrategy.java
+++ b/src/java/org/apache/cassandra/db/compaction/LeveledCompactionStrategy.java
@@@ -7,16 -9,19 +7,17 @@@
   * "License"); you may not use this file except in compliance
   * with the License.  You may obtain a copy of the License at
   *
 - *   http://www.apache.org/licenses/LICENSE-2.0
 - *
 - * Unless required by applicable law or agreed to in writing,
 - * software distributed under the License is distributed on an
 - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 - * KIND, either express or implied.  See the License for the
 - * specific language governing permissions and limitations
 - * under the License.
 + *     http://www.apache.org/licenses/LICENSE-2.0
   *
 + * Unless required by applicable law or agreed to in writing, software
 + * distributed under the License is distributed on an "AS IS" BASIS,
 + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 + * See the License for the specific language governing permissions and
 + * limitations under the License.
   */
 -
 +package org.apache.cassandra.db.compaction;
  
+ import java.io.IOException;
  import java.util.*;
  import java.util.concurrent.atomic.AtomicReference;
  

http://git-wip-us.apache.org/repos/asf/cassandra/blob/06a7bf36/src/java/org/apache/cassandra/db/compaction/LeveledManifest.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cassandra/blob/06a7bf36/src/java/org/apache/cassandra/db/compaction/ParallelCompactionIterable.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cassandra/blob/06a7bf36/src/java/org/apache/cassandra/io/sstable/SSTableReader.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cassandra/blob/06a7bf36/src/java/org/apache/cassandra/io/sstable/SSTableScanner.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/io/sstable/SSTableScanner.java
index 902f926,26ed908..820c0bb
--- a/src/java/org/apache/cassandra/io/sstable/SSTableScanner.java
+++ b/src/java/org/apache/cassandra/io/sstable/SSTableScanner.java
@@@ -25,22 -27,19 +25,22 @@@ import java.util.Iterator
  import org.slf4j.Logger;
  import org.slf4j.LoggerFactory;
  
+ import org.apache.cassandra.db.compaction.ICompactionScanner;
  import org.apache.cassandra.db.DecoratedKey;
 +import org.apache.cassandra.db.RowIndexEntry;
  import org.apache.cassandra.db.RowPosition;
  import org.apache.cassandra.db.columniterator.IColumnIterator;
  import org.apache.cassandra.db.filter.QueryFilter;
  import org.apache.cassandra.io.util.RandomAccessReader;
 +import org.apache.cassandra.io.util.FileUtils;
  import org.apache.cassandra.utils.ByteBufferUtil;
- import org.apache.cassandra.utils.CloseableIterator;
  
- public class SSTableScanner implements CloseableIterator<IColumnIterator>
+ public class SSTableScanner implements ICompactionScanner
  {
 -    private static Logger logger = 
LoggerFactory.getLogger(SSTableScanner.class);
 +    private static final Logger logger = 
LoggerFactory.getLogger(SSTableScanner.class);
  
 -    protected final RandomAccessReader file;
 +    protected final RandomAccessReader dfile;
 +    protected final RandomAccessReader ifile;
      public final SSTableReader sstable;
      private IColumnIterator row;
      protected boolean exhausted = false;
@@@ -142,11 -119,16 +142,16 @@@
          }
      }
  
-     public long getFilePointer()
+     public long getCurrentPosition()
      {
 -        return file.getFilePointer();
 +        return dfile.getFilePointer();
      }
  
+     public String getBackingFiles()
+     {
+         return sstable.toString();
+     }
+ 
      public boolean hasNext()
      {
          if (iterator == null)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/06a7bf36/src/java/org/apache/cassandra/service/AntiEntropyService.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cassandra/blob/06a7bf36/test/unit/org/apache/cassandra/io/LazilyCompactedRowTest.java
----------------------------------------------------------------------

Reply via email to