com.google.cloud.bigtable.config.RetryOptions

Here are the examples of the java api class com.google.cloud.bigtable.config.RetryOptions taken from open source projects.

1. BigtableIO#addRetryOptions()

Project: incubator-beam
File: BigtableIO.java
/**
   * A helper function to add appropriate retry options. See
   * <a href="https://github.com/GoogleCloudPlatform/cloud-bigtable-client/issues/899">RetryOptions
   * toBuilder</a> for issue.
   */
static BigtableOptions.Builder addRetryOptions(BigtableOptions.Builder builder) {
    RetryOptions retryOptions = builder.build().getRetryOptions();
    RetryOptions.Builder retryOptionsBuilder = new RetryOptions.Builder().setEnableRetries(retryOptions.enableRetries()).setInitialBackoffMillis(retryOptions.getInitialBackoffMillis()).setBackoffMultiplier(retryOptions.getBackoffMultiplier()).setMaxElapsedBackoffMillis(retryOptions.getMaxElaspedBackoffMillis()).setStreamingBufferSize(retryOptions.getStreamingBufferSize()).setStreamingBatchSize(Math.min(retryOptions.getStreamingBatchSize(), retryOptions.getStreamingBufferSize() / 2)).setReadPartialRowTimeoutMillis(retryOptions.getReadPartialRowTimeoutMillis()).setMaxScanTimeoutRetries(retryOptions.getMaxScanTimeoutRetries()).setAllowRetriesWithoutTimestamp(retryOptions.allowRetriesWithoutTimestamp());
    for (Status.Code code : Status.Code.values()) {
        if (retryOptions.isRetryable(code)) {
            retryOptionsBuilder.addStatusToRetryOn(code);
        }
    }
    builder.setRetryOptions(retryOptionsBuilder.build());
    return builder;
}

2. BigtableIOTest#testAddRetryOptions()

Project: incubator-beam
File: BigtableIOTest.java
@Test
public void testAddRetryOptions() {
    final double delta = 0.0000001;
    BigtableOptions.Builder optionsBuilder = BIGTABLE_OPTIONS.toBuilder();
    optionsBuilder = BigtableIO.addRetryOptions(optionsBuilder);
    RetryOptions retryOptions = optionsBuilder.build().getRetryOptions();
    assertEquals(RetryOptions.DEFAULT_ENABLE_GRPC_RETRIES, retryOptions.enableRetries());
    assertEquals(RetryOptions.DEFAULT_INITIAL_BACKOFF_MILLIS, retryOptions.getInitialBackoffMillis());
    assertEquals(RetryOptions.DEFAULT_BACKOFF_MULTIPLIER, retryOptions.getBackoffMultiplier(), delta);
    assertEquals(RetryOptions.DEFAULT_MAX_ELAPSED_BACKOFF_MILLIS, retryOptions.getMaxElaspedBackoffMillis());
    assertEquals(RetryOptions.DEFAULT_STREAMING_BUFFER_SIZE, retryOptions.getStreamingBufferSize());
    assertEquals(RetryOptions.DEFAULT_STREAMING_BATCH_SIZE, retryOptions.getStreamingBatchSize());
    assertEquals(RetryOptions.DEFAULT_READ_PARTIAL_ROW_TIMEOUT_MS, retryOptions.getReadPartialRowTimeoutMillis());
    assertEquals(RetryOptions.DEFAULT_MAX_SCAN_TIMEOUT_RETRIES, retryOptions.getMaxScanTimeoutRetries());
    assertFalse(retryOptions.allowRetriesWithoutTimestamp());
    Set<Status.Code> statusToRetryOn = new HashSet<>();
    for (Status.Code code : Status.Code.values()) {
        if (retryOptions.isRetryable(code)) {
            statusToRetryOn.add(code);
        }
    }
    Set<Status.Code> defaultStatusToRetryOn = new HashSet<>(RetryOptions.DEFAULT_ENABLE_GRPC_RETRIES_SET);
    assertThat(statusToRetryOn, Matchers.containsInAnyOrder(defaultStatusToRetryOn.toArray()));
}