Skip to content

Commit

Permalink
fix: add missing read api retry setting on SplitReadStream (#1315)
Browse files Browse the repository at this point in the history
* fix: add missing read api retry setting on SplitReadStream

Committer: @yirutang
PiperOrigin-RevId: 398057257

Source-Link: googleapis/googleapis@376e8e9

Source-Link: googleapis/googleapis-gen@32c05ed
Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiMzJjMDVlZDRlZDg4ZDgzYWQ1Y2FmYzc1NDQwNThhY2M1OGJmNTYyOCJ9

* 🦉 Updates from OwlBot

See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md

Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
  • Loading branch information
gcf-owl-bot[bot] and gcf-owl-bot[bot] committed Sep 22, 2021
1 parent e68d0bf commit 015d6f4
Show file tree
Hide file tree
Showing 57 changed files with 27,454 additions and 124 deletions.

Large diffs are not rendered by default.

@@ -0,0 +1,239 @@
/*
* Copyright 2021 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

package com.google.cloud.bigquery.storage.v1;

import com.google.api.core.ApiFunction;
import com.google.api.core.BetaApi;
import com.google.api.gax.core.GoogleCredentialsProvider;
import com.google.api.gax.core.InstantiatingExecutorProvider;
import com.google.api.gax.grpc.InstantiatingGrpcChannelProvider;
import com.google.api.gax.rpc.ApiClientHeaderProvider;
import com.google.api.gax.rpc.ClientContext;
import com.google.api.gax.rpc.ClientSettings;
import com.google.api.gax.rpc.StreamingCallSettings;
import com.google.api.gax.rpc.TransportChannelProvider;
import com.google.api.gax.rpc.UnaryCallSettings;
import com.google.cloud.bigquery.storage.v1.stub.BigQueryWriteStubSettings;
import java.io.IOException;
import java.util.List;
import javax.annotation.Generated;

// AUTO-GENERATED DOCUMENTATION AND CLASS.
/**
* Settings class to configure an instance of {@link BigQueryWriteClient}.
*
* <p>The default instance has everything set to sensible defaults:
*
* <ul>
* <li>The default service address (bigquerystorage.googleapis.com) and default port (443) are
* used.
* <li>Credentials are acquired automatically through Application Default Credentials.
* <li>Retries are configured for idempotent methods but not for non-idempotent methods.
* </ul>
*
* <p>The builder of this class is recursive, so contained classes are themselves builders. When
* build() is called, the tree of builders is called to create the complete settings object.
*
* <p>For example, to set the total timeout of createWriteStream to 30 seconds:
*
* <pre>{@code
* BigQueryWriteSettings.Builder bigQueryWriteSettingsBuilder = BigQueryWriteSettings.newBuilder();
* bigQueryWriteSettingsBuilder
* .createWriteStreamSettings()
* .setRetrySettings(
* bigQueryWriteSettingsBuilder
* .createWriteStreamSettings()
* .getRetrySettings()
* .toBuilder()
* .setTotalTimeout(Duration.ofSeconds(30))
* .build());
* BigQueryWriteSettings bigQueryWriteSettings = bigQueryWriteSettingsBuilder.build();
* }</pre>
*/
@Generated("by gapic-generator-java")
public class BigQueryWriteSettings extends ClientSettings<BigQueryWriteSettings> {

/** Returns the object with the settings used for calls to createWriteStream. */
public UnaryCallSettings<CreateWriteStreamRequest, WriteStream> createWriteStreamSettings() {
return ((BigQueryWriteStubSettings) getStubSettings()).createWriteStreamSettings();
}

/** Returns the object with the settings used for calls to appendRows. */
public StreamingCallSettings<AppendRowsRequest, AppendRowsResponse> appendRowsSettings() {
return ((BigQueryWriteStubSettings) getStubSettings()).appendRowsSettings();
}

/** Returns the object with the settings used for calls to getWriteStream. */
public UnaryCallSettings<GetWriteStreamRequest, WriteStream> getWriteStreamSettings() {
return ((BigQueryWriteStubSettings) getStubSettings()).getWriteStreamSettings();
}

/** Returns the object with the settings used for calls to finalizeWriteStream. */
public UnaryCallSettings<FinalizeWriteStreamRequest, FinalizeWriteStreamResponse>
finalizeWriteStreamSettings() {
return ((BigQueryWriteStubSettings) getStubSettings()).finalizeWriteStreamSettings();
}

/** Returns the object with the settings used for calls to batchCommitWriteStreams. */
public UnaryCallSettings<BatchCommitWriteStreamsRequest, BatchCommitWriteStreamsResponse>
batchCommitWriteStreamsSettings() {
return ((BigQueryWriteStubSettings) getStubSettings()).batchCommitWriteStreamsSettings();
}

/** Returns the object with the settings used for calls to flushRows. */
public UnaryCallSettings<FlushRowsRequest, FlushRowsResponse> flushRowsSettings() {
return ((BigQueryWriteStubSettings) getStubSettings()).flushRowsSettings();
}

public static final BigQueryWriteSettings create(BigQueryWriteStubSettings stub)
throws IOException {
return new BigQueryWriteSettings.Builder(stub.toBuilder()).build();
}

/** Returns a builder for the default ExecutorProvider for this service. */
public static InstantiatingExecutorProvider.Builder defaultExecutorProviderBuilder() {
return BigQueryWriteStubSettings.defaultExecutorProviderBuilder();
}

/** Returns the default service endpoint. */
public static String getDefaultEndpoint() {
return BigQueryWriteStubSettings.getDefaultEndpoint();
}

/** Returns the default service scopes. */
public static List<String> getDefaultServiceScopes() {
return BigQueryWriteStubSettings.getDefaultServiceScopes();
}

/** Returns a builder for the default credentials for this service. */
public static GoogleCredentialsProvider.Builder defaultCredentialsProviderBuilder() {
return BigQueryWriteStubSettings.defaultCredentialsProviderBuilder();
}

/** Returns a builder for the default ChannelProvider for this service. */
public static InstantiatingGrpcChannelProvider.Builder defaultGrpcTransportProviderBuilder() {
return BigQueryWriteStubSettings.defaultGrpcTransportProviderBuilder();
}

public static TransportChannelProvider defaultTransportChannelProvider() {
return BigQueryWriteStubSettings.defaultTransportChannelProvider();
}

@BetaApi("The surface for customizing headers is not stable yet and may change in the future.")
public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuilder() {
return BigQueryWriteStubSettings.defaultApiClientHeaderProviderBuilder();
}

/** Returns a new builder for this class. */
public static Builder newBuilder() {
return Builder.createDefault();
}

/** Returns a new builder for this class. */
public static Builder newBuilder(ClientContext clientContext) {
return new Builder(clientContext);
}

/** Returns a builder containing all the values of this settings class. */
public Builder toBuilder() {
return new Builder(this);
}

protected BigQueryWriteSettings(Builder settingsBuilder) throws IOException {
super(settingsBuilder);
}

/** Builder for BigQueryWriteSettings. */
public static class Builder extends ClientSettings.Builder<BigQueryWriteSettings, Builder> {

protected Builder() throws IOException {
this(((ClientContext) null));
}

protected Builder(ClientContext clientContext) {
super(BigQueryWriteStubSettings.newBuilder(clientContext));
}

protected Builder(BigQueryWriteSettings settings) {
super(settings.getStubSettings().toBuilder());
}

protected Builder(BigQueryWriteStubSettings.Builder stubSettings) {
super(stubSettings);
}

private static Builder createDefault() {
return new Builder(BigQueryWriteStubSettings.newBuilder());
}

public BigQueryWriteStubSettings.Builder getStubSettingsBuilder() {
return ((BigQueryWriteStubSettings.Builder) getStubSettings());
}

/**
* Applies the given settings updater function to all of the unary API methods in this service.
*
* <p>Note: This method does not support applying settings to streaming methods.
*/
public Builder applyToAllUnaryMethods(
ApiFunction<UnaryCallSettings.Builder<?, ?>, Void> settingsUpdater) {
super.applyToAllUnaryMethods(
getStubSettingsBuilder().unaryMethodSettingsBuilders(), settingsUpdater);
return this;
}

/** Returns the builder for the settings used for calls to createWriteStream. */
public UnaryCallSettings.Builder<CreateWriteStreamRequest, WriteStream>
createWriteStreamSettings() {
return getStubSettingsBuilder().createWriteStreamSettings();
}

/** Returns the builder for the settings used for calls to appendRows. */
public StreamingCallSettings.Builder<AppendRowsRequest, AppendRowsResponse>
appendRowsSettings() {
return getStubSettingsBuilder().appendRowsSettings();
}

/** Returns the builder for the settings used for calls to getWriteStream. */
public UnaryCallSettings.Builder<GetWriteStreamRequest, WriteStream> getWriteStreamSettings() {
return getStubSettingsBuilder().getWriteStreamSettings();
}

/** Returns the builder for the settings used for calls to finalizeWriteStream. */
public UnaryCallSettings.Builder<FinalizeWriteStreamRequest, FinalizeWriteStreamResponse>
finalizeWriteStreamSettings() {
return getStubSettingsBuilder().finalizeWriteStreamSettings();
}

/** Returns the builder for the settings used for calls to batchCommitWriteStreams. */
public UnaryCallSettings.Builder<
BatchCommitWriteStreamsRequest, BatchCommitWriteStreamsResponse>
batchCommitWriteStreamsSettings() {
return getStubSettingsBuilder().batchCommitWriteStreamsSettings();
}

/** Returns the builder for the settings used for calls to flushRows. */
public UnaryCallSettings.Builder<FlushRowsRequest, FlushRowsResponse> flushRowsSettings() {
return getStubSettingsBuilder().flushRowsSettings();
}

@Override
public BigQueryWriteSettings build() throws IOException {
return new BigQueryWriteSettings(this);
}
}
}
Expand Up @@ -22,6 +22,33 @@
}
}
}
},
"BigQueryWrite": {
"clients": {
"grpc": {
"libraryClient": "BigQueryWriteClient",
"rpcs": {
"AppendRows": {
"methods": ["appendRowsCallable"]
},
"BatchCommitWriteStreams": {
"methods": ["batchCommitWriteStreams", "batchCommitWriteStreams", "batchCommitWriteStreamsCallable"]
},
"CreateWriteStream": {
"methods": ["createWriteStream", "createWriteStream", "createWriteStream", "createWriteStreamCallable"]
},
"FinalizeWriteStream": {
"methods": ["finalizeWriteStream", "finalizeWriteStream", "finalizeWriteStream", "finalizeWriteStreamCallable"]
},
"FlushRows": {
"methods": ["flushRows", "flushRows", "flushRows", "flushRowsCallable"]
},
"GetWriteStream": {
"methods": ["getWriteStream", "getWriteStream", "getWriteStream", "getWriteStreamCallable"]
}
}
}
}
}
}
}
Expand Up @@ -34,6 +34,25 @@
* baseBigQueryReadClient.createReadSession(parent, readSession, maxStreamCount);
* }
* }</pre>
*
* <p>======================= BigQueryWriteClient =======================
*
* <p>Service Description: BigQuery Write API.
*
* <p>The Write API can be used to write data to BigQuery.
*
* <p>For supplementary information about the Write API, see:
* https://cloud.google.com/bigquery/docs/write-api
*
* <p>Sample for BigQueryWriteClient:
*
* <pre>{@code
* try (BigQueryWriteClient bigQueryWriteClient = BigQueryWriteClient.create()) {
* TableName parent = TableName.of("[PROJECT]", "[DATASET]", "[TABLE]");
* WriteStream writeStream = WriteStream.newBuilder().build();
* WriteStream response = bigQueryWriteClient.createWriteStream(parent, writeStream);
* }
* }</pre>
*/
@Generated("by gapic-generator-java")
package com.google.cloud.bigquery.storage.v1;
Expand Down
Expand Up @@ -215,11 +215,6 @@ public static class Builder extends StubSettings.Builder<BigQueryReadStubSetting
definitions.put(
"retry_policy_1_codes",
ImmutableSet.copyOf(Lists.<StatusCode.Code>newArrayList(StatusCode.Code.UNAVAILABLE)));
definitions.put(
"retry_policy_2_codes",
ImmutableSet.copyOf(
Lists.<StatusCode.Code>newArrayList(
StatusCode.Code.DEADLINE_EXCEEDED, StatusCode.Code.UNAVAILABLE)));
RETRYABLE_CODE_DEFINITIONS = definitions.build();
}

Expand Down Expand Up @@ -250,17 +245,6 @@ public static class Builder extends StubSettings.Builder<BigQueryReadStubSetting
.setTotalTimeout(Duration.ofMillis(86400000L))
.build();
definitions.put("retry_policy_1_params", settings);
settings =
RetrySettings.newBuilder()
.setInitialRetryDelay(Duration.ofMillis(100L))
.setRetryDelayMultiplier(1.3)
.setMaxRetryDelay(Duration.ofMillis(60000L))
.setInitialRpcTimeout(Duration.ofMillis(600000L))
.setRpcTimeoutMultiplier(1.0)
.setMaxRpcTimeout(Duration.ofMillis(600000L))
.setTotalTimeout(Duration.ofMillis(600000L))
.build();
definitions.put("retry_policy_2_params", settings);
RETRY_PARAM_DEFINITIONS = definitions.build();
}

Expand Down Expand Up @@ -319,8 +303,8 @@ private static Builder initDefaults(Builder builder) {

builder
.splitReadStreamSettings()
.setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_2_codes"))
.setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_2_params"));
.setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_0_codes"))
.setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_0_params"));

return builder;
}
Expand Down

0 comments on commit 015d6f4

Please sign in to comment.