Updated Branches:
  refs/heads/cassandra-1.2 457b546e6 -> 686f516cc
  refs/heads/trunk 89e250b8b -> 4042ef2dc


Merge branch 'cassandra-1.2' into trunk


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

Branch: refs/heads/trunk
Commit: 4042ef2dccd0fa8cec3cdc8f94439fdf9795ac8d
Parents: 89e250b 686f516
Author: Jonathan Ellis <jbel...@apache.org>
Authored: Wed Feb 20 05:39:14 2013 -0800
Committer: Jonathan Ellis <jbel...@apache.org>
Committed: Wed Feb 20 05:39:14 2013 -0800

----------------------------------------------------------------------
 CHANGES.txt                                        |    2 +
 .../org/apache/cassandra/db/ColumnFamilyStore.java |    1 -
 .../db/compaction/AbstractCompactionStrategy.java  |    8 ++
 .../db/compaction/AbstractCompactionTask.java      |   34 ++++++--
 .../cassandra/db/compaction/CompactionManager.java |   67 +++-----------
 .../cassandra/db/compaction/CompactionTask.java    |    8 +--
 .../db/compaction/LeveledCompactionStrategy.java   |   43 +++++-----
 .../compaction/SizeTieredCompactionStrategy.java   |   42 +++++++---
 .../LongLeveledCompactionStrategyTest.java         |    9 +--
 test/unit/org/apache/cassandra/Util.java           |    4 +-
 .../db/compaction/CompactionsPurgeTest.java        |    4 +-
 11 files changed, 114 insertions(+), 108 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/4042ef2d/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index 6f9d076,0489968..30a861f
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,17 -1,6 +1,19 @@@
 +1.3
 + * Move sstable level information into the Stats component, removing the
 +   need for a separate Manifest file (CASSANDRA-4872)
 + * avoid serializing to byte[] on commitlog append (CASSANDRA-5199)
 + * make index_interval configurable per columnfamily (CASSANDRA-3961)
 + * add default_tim_to_live (CASSANDRA-3974)
 + * add memtable_flush_period_in_ms (CASSANDRA-4237)
 + * replace supercolumns internally by composites (CASSANDRA-3237, 5123)
 + * upgrade thrift to 0.9.0 (CASSANDRA-3719)
 + * drop unnecessary keyspace from user-defined compaction API (CASSANDRA-5139)
 + * more robust solution to incomplete compactions + counters (CASSANDRA-5151)
 +
 +
  1.2.2
+  * fix potential for multiple concurrent compactions of the same sstables
+    (CASSANDRA-5256)
   * avoid no-op caching of byte[] on commitlog append (CASSANDRA-5199)
   * fix symlinks under data dir not working (CASSANDRA-5185)
   * fix bug in compact storage metadata handling (CASSANDRA-5189)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/4042ef2d/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cassandra/blob/4042ef2d/src/java/org/apache/cassandra/db/compaction/AbstractCompactionStrategy.java
----------------------------------------------------------------------

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

http://git-wip-us.apache.org/repos/asf/cassandra/blob/4042ef2d/src/java/org/apache/cassandra/db/compaction/CompactionTask.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cassandra/blob/4042ef2d/src/java/org/apache/cassandra/db/compaction/LeveledCompactionStrategy.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cassandra/blob/4042ef2d/src/java/org/apache/cassandra/db/compaction/SizeTieredCompactionStrategy.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cassandra/blob/4042ef2d/test/long/org/apache/cassandra/db/compaction/LongLeveledCompactionStrategyTest.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cassandra/blob/4042ef2d/test/unit/org/apache/cassandra/Util.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cassandra/blob/4042ef2d/test/unit/org/apache/cassandra/db/compaction/CompactionsPurgeTest.java
----------------------------------------------------------------------
diff --cc test/unit/org/apache/cassandra/db/compaction/CompactionsPurgeTest.java
index 6bc6e8b,827257f..9344ec3
--- a/test/unit/org/apache/cassandra/db/compaction/CompactionsPurgeTest.java
+++ b/test/unit/org/apache/cassandra/db/compaction/CompactionsPurgeTest.java
@@@ -132,20 -134,20 +132,20 @@@ public class CompactionsPurgeTest exten
          cfs.forceBlockingFlush();
          Collection<SSTableReader> sstablesIncomplete = cfs.getSSTables();
          rm = new RowMutation(TABLE2, key1.key);
 -        rm.add(new QueryPath(cfName, null, 
ByteBufferUtil.bytes(String.valueOf(5))), ByteBufferUtil.EMPTY_BYTE_BUFFER, 2);
 +        rm.add(cfName, ByteBufferUtil.bytes(String.valueOf(5)), 
ByteBufferUtil.EMPTY_BYTE_BUFFER, 2);
          rm.apply();
          cfs.forceBlockingFlush();
-         new CompactionTask(cfs, sstablesIncomplete, 
Integer.MAX_VALUE).execute(null);
+         cfs.getCompactionStrategy().getUserDefinedTask(sstablesIncomplete, 
Integer.MAX_VALUE).execute(null);
  
 -        // verify that minor compaction does not GC when key is present
 -        // in a non-compacted sstable
 -        ColumnFamily cf = 
cfs.getColumnFamily(QueryFilter.getIdentityFilter(key1, new QueryPath(cfName)));
 -        Assert.assertEquals(10, cf.getColumnCount());
 -
          // verify that minor compaction does GC when key is provably not
          // present in a non-compacted sstable
 -        cf = cfs.getColumnFamily(QueryFilter.getIdentityFilter(key2, new 
QueryPath(cfName)));
 +        ColumnFamily cf = 
cfs.getColumnFamily(QueryFilter.getIdentityFilter(key2, cfName));
          assert cf == null;
 +
 +        // verify that minor compaction still GC when key is present
 +        // in a non-compacted sstable but the timestamp ensures we won't miss 
anything
 +        cf = cfs.getColumnFamily(QueryFilter.getIdentityFilter(key1, cfName));
 +        Assert.assertEquals(1, cf.getColumnCount());
      }
  
      @Test
@@@ -173,14 -175,14 +173,14 @@@
  
          // delete so we have new delete in a diffrent SST.
          rm = new RowMutation(TABLE2, key3.key);
 -        rm.delete(new QueryPath(cfName, null, ByteBufferUtil.bytes("c2")), 9);
 +        rm.delete(cfName, ByteBufferUtil.bytes("c2"), 9);
          rm.apply();
          cfs.forceBlockingFlush();
-         new CompactionTask(cfs, sstablesIncomplete, 
Integer.MAX_VALUE).execute(null);
+         cfs.getCompactionStrategy().getUserDefinedTask(sstablesIncomplete, 
Integer.MAX_VALUE).execute(null);
  
 -        ColumnFamily cf = 
cfs.getColumnFamily(QueryFilter.getIdentityFilter(key3, new QueryPath(cfName)));
 +        ColumnFamily cf = 
cfs.getColumnFamily(QueryFilter.getIdentityFilter(key3, cfName));
          Assert.assertTrue(!cf.getColumn(ByteBufferUtil.bytes("c2")).isLive());
 -        Assert.assertEquals(1, cf.getColumnCount());
 +        Assert.assertEquals(2, cf.getColumnCount());
      }
  
      @Test

Reply via email to