4545import io .grpc .MethodDescriptor .MethodType ;
4646import java .io .IOException ;
4747import java .io .InputStream ;
48+ import java .time .Duration ;
4849import java .util .concurrent .ExecutionException ;
49- import org .threeten .bp .Duration ;
5050
5151/**
5252 * Modern Cloud Bigtable Table Admin Client.
5353 *
54- * <p>This client extends the auto-generated {@link BaseBigtableTableAdminClient} to provide manual
55- * overrides and additional convenience methods for Critical User Journeys (CUJs) that the GAPIC
56- * generator cannot handle natively (e.g., chained Long Running Operations, Consistency Polling).
54+ * <p>This client extends the {@link BaseBigtableTableAdminClient} to provide enhanced convenience
55+ * methods for table administration. It improves the user experience by handling chained Long
56+ * Running Operations (such as seamlessly restoring and then optimizing a table) and provides
57+ * built-in, automated polling for consistency tokens.
5758 */
5859public class BigtableTableAdminClientV2 extends BaseBigtableTableAdminClient {
5960 private final com .google .cloud .bigtable .admin .v2 .stub .AwaitConsistencyCallable
@@ -95,11 +96,11 @@ protected BigtableTableAdminClientV2(BigtableTableAdminStub stub) {
9596 RetrySettings .newBuilder ()
9697 .setTotalTimeout (
9798 settings .checkConsistencySettings ().getRetrySettings ().getTotalTimeout ())
98- .setInitialRetryDelay (Duration .ofSeconds (10 ))
99+ .setInitialRetryDelayDuration (Duration .ofSeconds (10 ))
99100 .setRetryDelayMultiplier (1.0 )
100- .setMaxRetryDelay (Duration .ofSeconds (10 ))
101- .setInitialRpcTimeout (Duration .ZERO )
102- .setMaxRpcTimeout (Duration .ZERO )
101+ .setMaxRetryDelayDuration (Duration .ofSeconds (10 ))
102+ .setInitialRpcTimeoutDuration (Duration .ZERO )
103+ .setMaxRpcTimeoutDuration (Duration .ZERO )
103104 .setRpcTimeoutMultiplier (1.0 )
104105 .build ();
105106
@@ -157,7 +158,7 @@ public Operation parse(InputStream stream) {
157158 OperationCallSettings .<Void , Empty , OptimizeRestoredTableMetadata >newBuilder ()
158159 .setInitialCallSettings (
159160 UnaryCallSettings .<Void , OperationSnapshot >newUnaryCallSettingsBuilder ()
160- .setSimpleTimeoutNoRetries (Duration .ZERO )
161+ .setSimpleTimeoutNoRetriesDuration (Duration .ZERO )
161162 .build ())
162163 .setMetadataTransformer (
163164 new ApiFunction <OperationSnapshot , OptimizeRestoredTableMetadata >() {
@@ -176,13 +177,13 @@ public Empty apply(OperationSnapshot input) {
176177 .setPollingAlgorithm (
177178 OperationTimedPollAlgorithm .create (
178179 RetrySettings .newBuilder ()
179- .setInitialRetryDelay (Duration .ofMillis (500L ))
180+ .setInitialRetryDelayDuration (Duration .ofMillis (500L ))
180181 .setRetryDelayMultiplier (1.5 )
181- .setMaxRetryDelay (Duration .ofMillis (5000L ))
182- .setInitialRpcTimeout (Duration .ZERO )
182+ .setMaxRetryDelayDuration (Duration .ofMillis (5000L ))
183+ .setInitialRpcTimeoutDuration (Duration .ZERO )
183184 .setRpcTimeoutMultiplier (1.0 )
184- .setMaxRpcTimeout (Duration .ZERO )
185- .setTotalTimeout (Duration .ofMillis (600000L ))
185+ .setMaxRpcTimeoutDuration (Duration .ZERO )
186+ .setTotalTimeoutDuration (Duration .ofMillis (600000L ))
186187 .build ()))
187188 .build ();
188189
@@ -317,9 +318,9 @@ private UnaryCallable<ConsistencyRequest, Void> getAwaitConsistencyCallable() {
317318 return awaitConsistencyCallable ;
318319 }
319320 throw new IllegalStateException (
320- "com.google.cloud.bigtable.admin.v2.stub. AwaitConsistencyCallable not initialized."
321- + " BigtableTableAdminClientV2 must be initialized via settings to use this "
322- + " functionality." );
321+ "AwaitConsistencyCallable not initialized. BigtableTableAdminClientV2 must be "
322+ + "initialized via BigtableTableAdminClientV2.create(BaseBigtableTableAdminSettings) "
323+ + "to use this functionality." );
323324 }
324325
325326 private OperationCallable <Void , Empty , OptimizeRestoredTableMetadata >
@@ -329,6 +330,7 @@ private UnaryCallable<ConsistencyRequest, Void> getAwaitConsistencyCallable() {
329330 }
330331 throw new IllegalStateException (
331332 "OptimizeRestoredTableCallable not initialized. BigtableTableAdminClientV2 must be "
332- + "initialized via settings to use this functionality." );
333+ + "initialized via BigtableTableAdminClientV2.create(BaseBigtableTableAdminSettings) "
334+ + "to use this functionality." );
333335 }
334336}
0 commit comments