@Test public void testDropRowRange() { // Setup DropRowRangeRequest expectedRequest = DropRowRangeRequest.newBuilder() .setName(TABLE_NAME) .setRowKeyPrefix(ByteString.copyFromUtf8("rowKeyPrefix")) .build(); final Empty expectedResponse = Empty.getDefaultInstance(); final AtomicBoolean wasCalled = new AtomicBoolean(false); Mockito.when(mockDropRowRangeCallable.futureCall(expectedRequest)) .thenAnswer( new Answer<ApiFuture<Empty>>() { @Override public ApiFuture<Empty> answer(InvocationOnMock invocationOnMock) { wasCalled.set(true); return ApiFutures.immediateFuture(expectedResponse); } }); // Execute adminClient.dropRowRange(TABLE_ID, "rowKeyPrefix"); // Verify assertThat(wasCalled.get()).isTrue(); }
private void issueBulkDelete(TableName tableName, DropRowRangeRequest.Builder deleteRequest) throws IOException { try { bigtableTableAdminClient .dropRowRange(deleteRequest.setName(toBigtableName(tableName)).build()); } catch (Throwable throwable) { throw new IOException( String.format("Failed to truncate table '%s'", tableName.getNameAsString()), throwable); } }
private DropRowRangeRequest buildDropRowRangeRequest(String tableId, String rowKeyPrefix) { DropRowRangeRequest.Builder dropRequestProtoBuiler = DropRowRangeRequest.newBuilder() .setName(instanceName.toTableNameStr(tableId)); if (!Strings.isNullOrEmpty(rowKeyPrefix)) { dropRequestProtoBuiler .setDeleteAllDataFromTable(false) .setRowKeyPrefix(ByteString.copyFromUtf8(rowKeyPrefix)); } else { dropRequestProtoBuiler.setDeleteAllDataFromTable(true); } return dropRequestProtoBuiler.build(); } }
DropRowRangeRequest request = DropRowRangeRequest.newBuilder() .setName(getTableName(tableId)) .setRowKeyPrefix(rowKeyPrefix) .build();
DropRowRangeRequest request = DropRowRangeRequest.newBuilder() .setName(getTableName(tableId)) .setDeleteAllDataFromTable(true) .build();
@Override public CompletableFuture<Void> truncateTable(TableName tableName, boolean preserveSplits) { if (!preserveSplits) { LOG.info("truncate will preserveSplits. The passed in variable is ignored."); } DropRowRangeRequest request = DropRowRangeRequest .newBuilder() .setDeleteAllDataFromTable(true) .setName(bigtableInstanceName.toTableNameStr(tableName.getNameAsString())) .build(); return bigtableTableAdminClient.dropRowRangeAsync(request).thenApply(r -> null); }
@Override public Future<Void> truncateTableAsync(TableName tableName, boolean preserveSplits) throws IOException { if (!preserveSplits) { LOG.info("truncate will preserveSplits. The passed in variable is ignored."); } DropRowRangeRequest.Builder deleteRequest = DropRowRangeRequest.newBuilder().setDeleteAllDataFromTable(true); return FutureUtils.toCompletableFuture( bigtableTableAdminClient .dropRowRangeAsync(deleteRequest.setName(toBigtableName(tableName)).build())) .thenApply(r -> null); } /* ******* Unsupported methods *********** */
@Override public CompletableFuture<Void> truncateTable(TableName tableName, boolean preserveSplits) { if (!preserveSplits) { LOG.info("truncate will preserveSplits. The passed in variable is ignored."); } DropRowRangeRequest request = DropRowRangeRequest .newBuilder() .setDeleteAllDataFromTable(true) .setName(bigtableInstanceName.toTableNameStr(tableName.getNameAsString())) .build(); return bigtableTableAdminClient.dropRowRangeAsync(request).thenApply(r -> null); }
DropRowRangeRequest request = DropRowRangeRequest.newBuilder() .setName(getTableName(tableId)) .setDeleteAllDataFromTable(true) .build();
DropRowRangeRequest request = DropRowRangeRequest.newBuilder() .setName(getTableName(tableId)) .setRowKeyPrefix(rowKeyPrefix) .build();