You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by bl...@apache.org on 2016/11/18 10:56:15 UTC

[05/13] cassandra git commit: Merge branch 'cassandra-2.2' into cassandra-3.0

http://git-wip-us.apache.org/repos/asf/cassandra/blob/eb41380c/test/unit/org/apache/cassandra/db/compaction/CompactionsPurgeTest.java
----------------------------------------------------------------------
diff --cc test/unit/org/apache/cassandra/db/compaction/CompactionsPurgeTest.java
index 26d53ed,4a1f2ca..436b916
--- a/test/unit/org/apache/cassandra/db/compaction/CompactionsPurgeTest.java
+++ b/test/unit/org/apache/cassandra/db/compaction/CompactionsPurgeTest.java
@@@ -86,17 -98,16 +86,17 @@@ public class CompactionsPurgeTes
          String cfName = "Standard1";
          ColumnFamilyStore cfs = keyspace.getColumnFamilyStore(cfName);
  
 -        DecoratedKey key = Util.dk("key1");
 -        Mutation rm;
 +        String key = "key1";
  
          // inserts
 -        rm = new Mutation(KEYSPACE1, key.getKey());
          for (int i = 0; i < 10; i++)
          {
 -            rm.add(cfName, cellname(String.valueOf(i)), ByteBufferUtil.EMPTY_BYTE_BUFFER, 0);
 +            RowUpdateBuilder builder = new RowUpdateBuilder(cfs.metadata, 0, key);
 +            builder.clustering(String.valueOf(i))
-                     .add("val", ByteBufferUtil.EMPTY_BYTE_BUFFER)
-                     .build().applyUnsafe();
++                   .add("val", ByteBufferUtil.EMPTY_BYTE_BUFFER)
++                   .build().applyUnsafe();
          }
 -        rm.applyUnsafe();
 +
          cfs.forceBlockingFlush();
  
          // deletes
@@@ -107,19 -120,148 +107,149 @@@
          cfs.forceBlockingFlush();
  
          // resurrect one column
 -        rm = new Mutation(KEYSPACE1, key.getKey());
 -        rm.add(cfName, cellname(String.valueOf(5)), ByteBufferUtil.EMPTY_BYTE_BUFFER, 2);
 -        rm.applyUnsafe();
 +        RowUpdateBuilder builder = new RowUpdateBuilder(cfs.metadata, 2, key);
 +        builder.clustering(String.valueOf(5))
-                 .add("val", ByteBufferUtil.EMPTY_BYTE_BUFFER)
-                 .build().applyUnsafe();
++               .add("val", ByteBufferUtil.EMPTY_BYTE_BUFFER)
++               .build().applyUnsafe();
 +
          cfs.forceBlockingFlush();
  
          // major compact and test that all columns but the resurrected one is completely gone
          FBUtilities.waitOnFutures(CompactionManager.instance.submitMaximal(cfs, Integer.MAX_VALUE, false));
 -        cfs.invalidateCachedRow(key);
 -        ColumnFamily cf = cfs.getColumnFamily(QueryFilter.getIdentityFilter(key, cfName, System.currentTimeMillis()));
 -        assertColumns(cf, "5");
 -        assertNotNull(cf.getColumn(cellname(String.valueOf(5))));
 +        cfs.invalidateCachedPartition(dk(key));
++
++        ImmutableBTreePartition partition = Util.getOnlyPartitionUnfiltered(Util.cmd(cfs, key).build());
++        assertEquals(1, partition.rowCount());
+     }
+ 
+     @Test
+     public void testMajorCompactionPurgeTombstonesWithMaxTimestamp()
+     {
+         CompactionManager.instance.disableAutoCompaction();
+ 
+         Keyspace keyspace = Keyspace.open(KEYSPACE1);
+         String cfName = "Standard1";
+         ColumnFamilyStore cfs = keyspace.getColumnFamilyStore(cfName);
+ 
 -        DecoratedKey key = Util.dk("key1");
 -        Mutation rm;
++        String key = "key1";
+ 
+         // inserts
 -        rm = new Mutation(KEYSPACE1, key.getKey());
+         for (int i = 0; i < 10; i++)
+         {
 -            rm.add(cfName, cellname(String.valueOf(i)), ByteBufferUtil.EMPTY_BYTE_BUFFER, 0);
++            RowUpdateBuilder builder = new RowUpdateBuilder(cfs.metadata, 0, key);
++            builder.clustering(String.valueOf(i))
++                   .add("val", ByteBufferUtil.EMPTY_BYTE_BUFFER)
++                   .build().applyUnsafe();
+         }
 -        rm.apply();
+         cfs.forceBlockingFlush();
+ 
+         // deletes
+         for (int i = 0; i < 10; i++)
+         {
 -            rm = new Mutation(KEYSPACE1, key.getKey());
 -            rm.delete(cfName, cellname(String.valueOf(i)), Long.MAX_VALUE);
 -            rm.apply();
++            RowUpdateBuilder.deleteRow(cfs.metadata, Long.MAX_VALUE, key, String.valueOf(i)).applyUnsafe();
+         }
+         cfs.forceBlockingFlush();
+ 
+         // major compact - tombstones should be purged
+         FBUtilities.waitOnFutures(CompactionManager.instance.submitMaximal(cfs, Integer.MAX_VALUE, false));
+ 
+         // resurrect one column
 -        rm = new Mutation(KEYSPACE1, key.getKey());
 -        rm.add(cfName, cellname(String.valueOf(5)), ByteBufferUtil.EMPTY_BYTE_BUFFER, 2);
 -        rm.apply();
++        RowUpdateBuilder builder = new RowUpdateBuilder(cfs.metadata, 2, key);
++        builder.clustering(String.valueOf(5))
++               .add("val", ByteBufferUtil.EMPTY_BYTE_BUFFER)
++               .build().applyUnsafe();
++
+         cfs.forceBlockingFlush();
+ 
 -        cfs.invalidateCachedRow(key);
 -        ColumnFamily cf = cfs.getColumnFamily(QueryFilter.getIdentityFilter(key, cfName, System.currentTimeMillis()));
 -        assertColumns(cf, "5");
 -        assert cf.getColumn(cellname(String.valueOf(5))) != null;
++        cfs.invalidateCachedPartition(dk(key));
++
++        ImmutableBTreePartition partition = Util.getOnlyPartitionUnfiltered(Util.cmd(cfs, key).build());
++        assertEquals(1, partition.rowCount());
+     }
+ 
+     @Test
+     public void testMajorCompactionPurgeTopLevelTombstoneWithMaxTimestamp()
+     {
+         CompactionManager.instance.disableAutoCompaction();
+ 
+         Keyspace keyspace = Keyspace.open(KEYSPACE1);
+         String cfName = "Standard1";
+         ColumnFamilyStore cfs = keyspace.getColumnFamilyStore(cfName);
+ 
 -        DecoratedKey key = Util.dk("key1");
 -        Mutation rm;
++        String key = "key1";
+ 
+         // inserts
 -        rm = new Mutation(KEYSPACE1, key.getKey());
+         for (int i = 0; i < 10; i++)
+         {
 -            rm.add(cfName, cellname(String.valueOf(i)), ByteBufferUtil.EMPTY_BYTE_BUFFER, 0);
++            RowUpdateBuilder builder = new RowUpdateBuilder(cfs.metadata, 0, key);
++            builder.clustering(String.valueOf(i))
++                   .add("val", ByteBufferUtil.EMPTY_BYTE_BUFFER)
++                   .build().applyUnsafe();
+         }
 -        rm.apply();
+         cfs.forceBlockingFlush();
+ 
 -        // delete
 -        rm = new Mutation(KEYSPACE1, key.getKey());
 -        rm.delete(cfName, Long.MAX_VALUE);
 -        rm.apply();
 -
++        new Mutation(KEYSPACE1, dk(key))
++            .add(PartitionUpdate.fullPartitionDelete(cfs.metadata, dk(key), Long.MAX_VALUE, FBUtilities.nowInSeconds()))
++            .applyUnsafe();
+         cfs.forceBlockingFlush();
+ 
 -        // major compact - tombstone should be purged
++        // major compact - tombstones should be purged
+         FBUtilities.waitOnFutures(CompactionManager.instance.submitMaximal(cfs, Integer.MAX_VALUE, false));
+ 
+         // resurrect one column
 -        rm = new Mutation(KEYSPACE1, key.getKey());
 -        rm.add(cfName, cellname(String.valueOf(5)), ByteBufferUtil.EMPTY_BYTE_BUFFER, 2);
 -        rm.apply();
++        RowUpdateBuilder builder = new RowUpdateBuilder(cfs.metadata, 2, key);
++        builder.clustering(String.valueOf(5))
++               .add("val", ByteBufferUtil.EMPTY_BYTE_BUFFER)
++               .build().applyUnsafe();
++
+         cfs.forceBlockingFlush();
+ 
 -        cfs.invalidateCachedRow(key);
 -        ColumnFamily cf = cfs.getColumnFamily(QueryFilter.getIdentityFilter(key, cfName, System.currentTimeMillis()));
 -        assertColumns(cf, "5");
 -        assert cf.getColumn(cellname(String.valueOf(5))) != null;
++        cfs.invalidateCachedPartition(dk(key));
++
++        ImmutableBTreePartition partition = Util.getOnlyPartitionUnfiltered(Util.cmd(cfs, key).build());
++        assertEquals(1, partition.rowCount());
+     }
+ 
+     @Test
+     public void testMajorCompactionPurgeRangeTombstoneWithMaxTimestamp()
+     {
+         CompactionManager.instance.disableAutoCompaction();
+ 
+         Keyspace keyspace = Keyspace.open(KEYSPACE1);
+         String cfName = "Standard1";
+         ColumnFamilyStore cfs = keyspace.getColumnFamilyStore(cfName);
+ 
 -        DecoratedKey key = Util.dk("key1");
 -        Mutation rm;
++        String key = "key1";
+ 
+         // inserts
 -        rm = new Mutation(KEYSPACE1, key.getKey());
+         for (int i = 0; i < 10; i++)
+         {
 -            rm.add(cfName, cellname(String.valueOf(i)), ByteBufferUtil.EMPTY_BYTE_BUFFER, 0);
++            RowUpdateBuilder builder = new RowUpdateBuilder(cfs.metadata, 0, key);
++            builder.clustering(String.valueOf(i))
++                   .add("val", ByteBufferUtil.EMPTY_BYTE_BUFFER)
++                   .build().applyUnsafe();
+         }
 -        rm.apply();
+         cfs.forceBlockingFlush();
+ 
 -        // delete
 -        rm = new Mutation(KEYSPACE1, key.getKey());
 -        rm.deleteRange(cfName, cellname(String.valueOf(0)), cellname(String.valueOf(9)), Long.MAX_VALUE);
 -        rm.apply();
 -
++        new RowUpdateBuilder(cfs.metadata, Long.MAX_VALUE, dk(key))
++            .addRangeTombstone(String.valueOf(0), String.valueOf(9)).build().applyUnsafe();
+         cfs.forceBlockingFlush();
+ 
 -        // major compact - tombstone should be purged
++        // major compact - tombstones should be purged
+         FBUtilities.waitOnFutures(CompactionManager.instance.submitMaximal(cfs, Integer.MAX_VALUE, false));
+ 
+         // resurrect one column
 -        rm = new Mutation(KEYSPACE1, key.getKey());
 -        rm.add(cfName, cellname(String.valueOf(5)), ByteBufferUtil.EMPTY_BYTE_BUFFER, 2);
 -        rm.apply();
++        RowUpdateBuilder builder = new RowUpdateBuilder(cfs.metadata, 2, key);
++        builder.clustering(String.valueOf(5))
++               .add("val", ByteBufferUtil.EMPTY_BYTE_BUFFER)
++               .build().applyUnsafe();
++
+         cfs.forceBlockingFlush();
+ 
 -        cfs.invalidateCachedRow(key);
 -        ColumnFamily cf = cfs.getColumnFamily(QueryFilter.getIdentityFilter(key, cfName, System.currentTimeMillis()));
 -        assertColumns(cf, "5");
 -        assert cf.getColumn(cellname(String.valueOf(5))) != null;
++        cfs.invalidateCachedPartition(dk(key));
 +
 +        ImmutableBTreePartition partition = Util.getOnlyPartitionUnfiltered(Util.cmd(cfs, key).build());
 +        assertEquals(1, partition.rowCount());
      }
  
      @Test