List of usage examples for org.apache.cassandra.db ColumnFamilyStore truncateBlocking
public void truncateBlocking()
From source file:edu.dprg.morphous.MoveSSTableTest.java
License:Apache License
@Test public void testMoveSSTablesBetweenDifferentColumnFamilies() throws Exception { final String ks1 = "testkeyspace_move_sstables"; final String cfName1 = "table1_copy"; final String cfName2 = "table1"; List<KSMetaData> schema = new ArrayList<KSMetaData>(); // A whole bucket of shorthand Class<? extends AbstractReplicationStrategy> simple = SimpleStrategy.class; Map<String, String> opts_rf1 = KSMetaData.optsWithRF(1); schema.add(KSMetaData.testMetadata(ks1, simple, opts_rf1, new CFMetaData(ks1, cfName1, ColumnFamilyType.Standard, BytesType.instance, null), new CFMetaData(ks1, cfName2, ColumnFamilyType.Standard, BytesType.instance, null))); for (KSMetaData ksm : schema) { MigrationManager.announceNewKeyspace(ksm); }// ww w . j av a 2s . co m Keyspace keyspace = Keyspace.open(ks1); ColumnFamilyStore cfs1 = keyspace.getColumnFamilyStore(cfName1); cfs1.truncateBlocking(); ColumnFamilyStore cfs2 = keyspace.getColumnFamilyStore(cfName2); cfs1.truncateBlocking(); cfs2.truncateBlocking(); for (int i = 1; i <= 500; i++) { ByteBuffer key = ByteBufferUtil.bytes("key-cf1-" + i); RowMutation rm = new RowMutation(ks1, key); rm.add(cfName1, ByteBufferUtil.bytes("Column1"), ByteBufferUtil.bytes("cf1-value" + i), 0); rm.apply(); } cfs1.forceBlockingFlush(); for (int i = 1; i <= 100; i++) { ByteBuffer key = ByteBufferUtil.bytes("key-cf2-" + i); RowMutation rm = new RowMutation(ks1, key); rm.add(cfName2, ByteBufferUtil.bytes("Column1"), ByteBufferUtil.bytes("cf2-value" + i), 0); rm.apply(); } cfs2.forceBlockingFlush(); SlicePredicate sp = new SlicePredicate(); sp.setColumn_names(Arrays.asList(ByteBufferUtil.bytes("Column1"))); List<Row> rows1 = cfs1.getRangeSlice(Util.range("", ""), null, ThriftValidation.asIFilter(sp, cfs1.metadata, null), 1000, System.currentTimeMillis(), true, false); assertEquals(500, rows1.size()); List<Row> rows2 = cfs2.getRangeSlice(Util.range("", ""), null, ThriftValidation.asIFilter(sp, cfs2.metadata, null), 1000, System.currentTimeMillis(), true, false); assertEquals(100, rows2.size()); ColumnFamily cf = cfs1.getColumnFamily( QueryFilter.getIdentityFilter(Util.dk("key-cf1-1"), cfName1, System.currentTimeMillis())); assertNotNull(cf); new AtomicSwitchMorphousTaskHandler().swapSSTablesBetweenCfs(cfs1, cfs2); cfs1.reload(); rows1 = cfs1.getRangeSlice(Util.range("", ""), null, ThriftValidation.asIFilter(sp, cfs1.metadata, null), 1000, System.currentTimeMillis(), true, false); assertEquals(100, rows1.size()); cfs2.reload(); rows2 = cfs2.getRangeSlice(Util.range("", ""), null, ThriftValidation.asIFilter(sp, cfs2.metadata, null), 1000, System.currentTimeMillis(), true, false); assertEquals(500, rows2.size()); }