You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beam.apache.org by pa...@apache.org on 2019/03/21 17:27:03 UTC

[beam] branch master updated: Set the user-agent in the BQ storage client.

This is an automated email from the ASF dual-hosted git repository.

pabloem pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/beam.git


The following commit(s) were added to refs/heads/master by this push:
     new d960e8a  Set the user-agent in the BQ storage client.
     new d79f9ed  Merge pull request #8084 from kmjung/master_bq_storage_user_agent
d960e8a is described below

commit d960e8a51464e6f6ead57e36a7fa3ddcac62529f
Author: Kenneth Jung <km...@google.com>
AuthorDate: Mon Mar 18 15:32:17 2019 -0700

    Set the user-agent in the BQ storage client.
    
    This change modifies the code which instantiates BigQuery storage client
    objects to set the user-agent string at creation time. The user-agent
    string specified here is merged with the default client user-agent
    string (per https://github.com/googleapis/gax-java/issues/614).
---
 .../apache/beam/sdk/io/gcp/bigquery/BigQueryServicesImpl.java | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/bigquery/BigQueryServicesImpl.java b/sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/bigquery/BigQueryServicesImpl.java
index e1b1a7f..4926d0d 100644
--- a/sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/bigquery/BigQueryServicesImpl.java
+++ b/sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/bigquery/BigQueryServicesImpl.java
@@ -27,6 +27,8 @@ import com.google.api.client.util.BackOffUtils;
 import com.google.api.client.util.ExponentialBackOff;
 import com.google.api.client.util.Sleeper;
 import com.google.api.gax.core.FixedCredentialsProvider;
+import com.google.api.gax.rpc.FixedHeaderProvider;
+import com.google.api.gax.rpc.HeaderProvider;
 import com.google.api.services.bigquery.Bigquery;
 import com.google.api.services.bigquery.Bigquery.Tables;
 import com.google.api.services.bigquery.model.Dataset;
@@ -72,6 +74,7 @@ import org.apache.beam.sdk.transforms.SerializableFunction;
 import org.apache.beam.sdk.util.BackOffAdapter;
 import org.apache.beam.sdk.util.CustomHttpErrors;
 import org.apache.beam.sdk.util.FluentBackoff;
+import org.apache.beam.sdk.util.ReleaseInfo;
 import org.apache.beam.sdk.util.RetryHttpRequestInitializer;
 import org.apache.beam.sdk.util.Transport;
 import org.apache.beam.sdk.values.ValueInSingleWindow;
@@ -976,12 +979,20 @@ class BigQueryServicesImpl implements BigQueryServices {
   @Experimental(Experimental.Kind.SOURCE_SINK)
   static class StorageClientImpl implements StorageClient {
 
+    private static final HeaderProvider USER_AGENT_HEADER_PROVIDER =
+        FixedHeaderProvider.create(
+            "user-agent", "Apache_Beam_Java/" + ReleaseInfo.getReleaseInfo().getVersion());
+
     private final BigQueryStorageClient client;
 
     private StorageClientImpl(BigQueryOptions options) throws IOException {
       BigQueryStorageSettings settings =
           BigQueryStorageSettings.newBuilder()
               .setCredentialsProvider(FixedCredentialsProvider.create(options.getGcpCredential()))
+              .setTransportChannelProvider(
+                  BigQueryStorageSettings.defaultGrpcTransportProviderBuilder()
+                      .setHeaderProvider(USER_AGENT_HEADER_PROVIDER)
+                      .build())
               .build();
       this.client = BigQueryStorageClient.create(settings);
     }