Class BigtableTableAdminClientV2 (2.79.0)

public class BigtableTableAdminClientV2 extends BaseBigtableTableAdminClient

Modern Cloud Bigtable Table Admin Client.

This client extends the BaseBigtableTableAdminClient to provide enhanced convenience methods for table administration. It improves the user experience by handling chained Long Running Operations (such as seamlessly restoring and then optimizing a table) and provides built-in, automated polling for consistency tokens.

Inheritance

java.lang.Object > BaseBigtableTableAdminClient > BigtableTableAdminClientV2

Static Methods

create()

public static final BigtableTableAdminClientV2 create()

Constructs an instance of BigtableTableAdminClientV2 with default settings.

Returns
Type Description
BigtableTableAdminClientV2
Exceptions
Type Description
IOException

create(BaseBigtableTableAdminSettings settings)

public static final BigtableTableAdminClientV2 create(BaseBigtableTableAdminSettings settings)

Constructs an instance of BigtableTableAdminClientV2 with the given settings.

Parameter
Name Description
settings BaseBigtableTableAdminSettings
Returns
Type Description
BigtableTableAdminClientV2
Exceptions
Type Description
IOException

Constructors

BigtableTableAdminClientV2(GrpcBigtableTableAdminStub stub, ScheduledExecutorService backgroundExecutor, boolean shouldAutoClose, AwaitConsistencyCallableV2 awaitConsistencyCallable, OperationCallable<Void,Empty,OptimizeRestoredTableMetadata> optimizeRestoredTableOperationBaseCallable)

protected BigtableTableAdminClientV2(GrpcBigtableTableAdminStub stub, ScheduledExecutorService backgroundExecutor, boolean shouldAutoClose, AwaitConsistencyCallableV2 awaitConsistencyCallable, OperationCallable<Void,Empty,OptimizeRestoredTableMetadata> optimizeRestoredTableOperationBaseCallable)
Parameters
Name Description
stub GrpcBigtableTableAdminStub
backgroundExecutor ScheduledExecutorService
shouldAutoClose boolean
awaitConsistencyCallable AwaitConsistencyCallableV2
optimizeRestoredTableOperationBaseCallable OperationCallable<Void,Empty,com.google.bigtable.admin.v2.OptimizeRestoredTableMetadata>

Methods

awaitOptimizeRestoredTable(ApiFuture<RestoredTableResult> restoreFuture)

public ApiFuture<Empty> awaitOptimizeRestoredTable(ApiFuture<RestoredTableResult> restoreFuture)

Awaits the completion of the "Optimize Restored Table" operation.

This method blocks until the restore operation is complete, extracts the optimization token, and returns an ApiFuture for the optimization phase.

Parameter
Name Description
restoreFuture ApiFuture<RestoredTableResult>

The future returned by restoreTableAsync().

Returns
Type Description
ApiFuture<Empty>

An ApiFuture that tracks the optimization progress.

awaitOptimizeRestoredTable(OptimizeRestoredTableOperationToken token)

public void awaitOptimizeRestoredTable(OptimizeRestoredTableOperationToken token)

Awaits a restored table is fully optimized.

Sample code


 RestoredTableResult result =
     client.restoreTable(RestoreTableRequest.of(clusterId, backupId).setTableId(tableId));
 client.awaitOptimizeRestoredTable(result.getOptimizeRestoredTableOperationToken());
 
Parameter
Name Description
token OptimizeRestoredTableOperationToken

awaitOptimizeRestoredTableAsync(OptimizeRestoredTableOperationToken token)

public ApiFuture<Void> awaitOptimizeRestoredTableAsync(OptimizeRestoredTableOperationToken token)

Awaits a restored table is fully optimized asynchronously.

Sample code


 RestoredTableResult result =
     client.restoreTable(RestoreTableRequest.of(clusterId, backupId).setTableId(tableId));
 ApiFuture<Void> future = client.awaitOptimizeRestoredTableAsync(
     result.getOptimizeRestoredTableOperationToken());

 ApiFutures.addCallback(
   future,
   new ApiFutureCallback<Void>() {
     public void onSuccess(Void unused) {
       System.out.println("The optimization of the restored table is done.");
     }

     public void onFailure(Throwable t) {
       t.printStackTrace();
     }
   },
   MoreExecutors.directExecutor()
 );
 
Parameter
Name Description
token OptimizeRestoredTableOperationToken
Returns
Type Description
ApiFuture<Void>

awaitTermination(long duration, TimeUnit unit)

public boolean awaitTermination(long duration, TimeUnit unit)
Parameters
Name Description
duration long
unit TimeUnit
Returns
Type Description
boolean
Overrides
Exceptions
Type Description
InterruptedException

close()

public void close()
Overrides

isShutdown()

public boolean isShutdown()
Returns
Type Description
boolean
Overrides

isTerminated()

public boolean isTerminated()
Returns
Type Description
boolean
Overrides

shutdown()

public void shutdown()
Overrides

shutdownNow()

public void shutdownNow()
Overrides

waitForConsistency(TableName tableName, String consistencyToken)

public void waitForConsistency(TableName tableName, String consistencyToken)

Polls an existing consistency token until table replication is consistent across all clusters. Useful for checking consistency of a token generated in a separate process. Blocks until completion.

Parameters
Name Description
tableName com.google.bigtable.admin.v2.TableName

The typesafe fully qualified table name to check.

consistencyToken String

The token to poll.

waitForConsistency(String tableName, String consistencyToken)

public void waitForConsistency(String tableName, String consistencyToken)

Polls an existing consistency token until table replication is consistent across all clusters. Useful for checking consistency of a token generated in a separate process. Blocks until completion.

Parameters
Name Description
tableName String

The fully qualified table name to check.

consistencyToken String

The token to poll.

waitForConsistencyAsync(TableName tableName, String consistencyToken)

public ApiFuture<Void> waitForConsistencyAsync(TableName tableName, String consistencyToken)

Asynchronously polls the consistency token. Returns a future that completes when table replication is consistent across all clusters.

Parameters
Name Description
tableName com.google.bigtable.admin.v2.TableName

The typesafe fully qualified table name to check.

consistencyToken String

The token to poll.

Returns
Type Description
ApiFuture<Void>

waitForConsistencyAsync(String tableName, String consistencyToken)

public ApiFuture<Void> waitForConsistencyAsync(String tableName, String consistencyToken)

Asynchronously polls the consistency token. Returns a future that completes when table replication is consistent across all clusters.

Parameters
Name Description
tableName String

The fully qualified table name to check.

consistencyToken String

The token to poll.

Returns
Type Description
ApiFuture<Void>