Search in sources :

Example 6 with CheckConsistencyResponse

use of com.google.bigtable.admin.v2.CheckConsistencyResponse in project java-bigtable by googleapis.

the class AwaitReplicationCallable method create.

static AwaitReplicationCallable create(UnaryCallable<GenerateConsistencyTokenRequest, GenerateConsistencyTokenResponse> generateCallable, UnaryCallable<CheckConsistencyRequest, CheckConsistencyResponse> checkCallable, ClientContext clientContext, RetrySettings pollingSettings) {
    RetryAlgorithm<CheckConsistencyResponse> retryAlgorithm = new RetryAlgorithm<>(new PollResultAlgorithm(), new ExponentialPollAlgorithm(pollingSettings, clientContext.getClock()));
    RetryingExecutor<CheckConsistencyResponse> retryingExecutor = new ScheduledRetryingExecutor<>(retryAlgorithm, clientContext.getExecutor());
    return new AwaitReplicationCallable(generateCallable, checkCallable, retryingExecutor);
}
Also used : ScheduledRetryingExecutor(com.google.api.gax.retrying.ScheduledRetryingExecutor) CheckConsistencyResponse(com.google.bigtable.admin.v2.CheckConsistencyResponse) RetryAlgorithm(com.google.api.gax.retrying.RetryAlgorithm) ResultRetryAlgorithm(com.google.api.gax.retrying.ResultRetryAlgorithm) ExponentialPollAlgorithm(com.google.api.gax.retrying.ExponentialPollAlgorithm)

Example 7 with CheckConsistencyResponse

use of com.google.bigtable.admin.v2.CheckConsistencyResponse in project java-bigtable by googleapis.

the class AwaitReplicationCallableTest method testImmediatelyConsistent.

@Test
public void testImmediatelyConsistent() throws Exception {
    GenerateConsistencyTokenRequest expectedRequest = GenerateConsistencyTokenRequest.newBuilder().setName(TABLE_NAME.toString()).build();
    GenerateConsistencyTokenResponse expectedResponse = GenerateConsistencyTokenResponse.newBuilder().setConsistencyToken("fake-token").build();
    Mockito.when(mockGenerateConsistencyTokenCallable.futureCall(expectedRequest, CALL_CONTEXT)).thenReturn(ApiFutures.immediateFuture(expectedResponse));
    CheckConsistencyRequest expectedRequest2 = CheckConsistencyRequest.newBuilder().setName(TABLE_NAME.toString()).setConsistencyToken("fake-token").build();
    CheckConsistencyResponse expectedResponse2 = CheckConsistencyResponse.newBuilder().setConsistent(true).build();
    Mockito.when(mockCheckConsistencyCallable.futureCall(expectedRequest2, CALL_CONTEXT)).thenReturn(ApiFutures.immediateFuture(expectedResponse2));
    ApiFuture<Void> consistentFuture = callable.futureCall(TABLE_NAME, CALL_CONTEXT);
    consistentFuture.get(1, TimeUnit.MILLISECONDS);
}
Also used : GenerateConsistencyTokenRequest(com.google.bigtable.admin.v2.GenerateConsistencyTokenRequest) CheckConsistencyResponse(com.google.bigtable.admin.v2.CheckConsistencyResponse) GenerateConsistencyTokenResponse(com.google.bigtable.admin.v2.GenerateConsistencyTokenResponse) CheckConsistencyRequest(com.google.bigtable.admin.v2.CheckConsistencyRequest) Test(org.junit.Test)

Aggregations

CheckConsistencyRequest (com.google.bigtable.admin.v2.CheckConsistencyRequest)6 CheckConsistencyResponse (com.google.bigtable.admin.v2.CheckConsistencyResponse)6 Test (org.junit.Test)6 GenerateConsistencyTokenRequest (com.google.bigtable.admin.v2.GenerateConsistencyTokenRequest)4 GenerateConsistencyTokenResponse (com.google.bigtable.admin.v2.GenerateConsistencyTokenResponse)4 AbstractMessage (com.google.protobuf.AbstractMessage)2 ByteString (com.google.protobuf.ByteString)2 ExecutionException (java.util.concurrent.ExecutionException)2 ExponentialPollAlgorithm (com.google.api.gax.retrying.ExponentialPollAlgorithm)1 ResultRetryAlgorithm (com.google.api.gax.retrying.ResultRetryAlgorithm)1 RetryAlgorithm (com.google.api.gax.retrying.RetryAlgorithm)1 ScheduledRetryingExecutor (com.google.api.gax.retrying.ScheduledRetryingExecutor)1 FakeApiException (com.google.api.gax.rpc.testing.FakeApiException)1 TableName (com.google.bigtable.admin.v2.TableName)1