/** * Creates a new table from a snapshot. * @param request a {@link CreateTableFromSnapshotRequest} object. * @return The long running {@link Operation} for the request. */ public CompletableFuture<Operation> createTableFromSnapshotAsync(CreateTableFromSnapshotRequest request) { return toCompletableFuture(adminClient.createTableFromSnapshotAsync(request)); } }
/** * Creates a new table from a snapshot. * @param request a {@link CreateTableFromSnapshotRequest} object. * @return The long running {@link Operation} for the request. */ public CompletableFuture<Operation> createTableFromSnapshotAsync(CreateTableFromSnapshotRequest request) { return toCompletableFuture(adminClient.createTableFromSnapshotAsync(request)); } }
/** {@inheritDoc} */ @Override public void cloneSnapshot(String snapshotName, TableName tableName) throws IOException, TableExistsException, RestoreSnapshotException { CreateTableFromSnapshotRequest request = CreateTableFromSnapshotRequest.newBuilder() .setParent(options.getInstanceName().toString()) .setTableId(tableName.getNameAsString()) .setSourceSnapshot(getClusterName().toSnapshotName(snapshotName)) .build(); Operation operation = Futures .getChecked(bigtableTableAdminClient.createTableFromSnapshotAsync(request), IOException.class); try { connection.getSession().getInstanceAdminClient(). waitForOperation(operation); } catch (TimeoutException e) { throw new IOException("Timed out waiting for cloneSnapshot operation to finish", e); } }
/** {@inheritDoc} */ @Override public void cloneSnapshot(String snapshotName, TableName tableName) throws IOException, TableExistsException, RestoreSnapshotException { CreateTableFromSnapshotRequest request = CreateTableFromSnapshotRequest.newBuilder() .setParent(options.getInstanceName().toString()) .setTableId(tableName.getNameAsString()) .setSourceSnapshot(getClusterName().toSnapshotName(snapshotName)) .build(); Operation operation = Futures .getChecked(bigtableTableAdminClient.createTableFromSnapshotAsync(request), IOException.class); try { connection.getSession().getInstanceAdminClient(). waitForOperation(operation); } catch (TimeoutException e) { throw new IOException("Timed out waiting for cloneSnapshot operation to finish", e); } }