From 0fae43f28245f5a1dced8ca054218a07c1760269 Mon Sep 17 00:00:00 2001 From: Igor Bernstein Date: Fri, 15 Feb 2019 14:54:07 -0500 Subject: [PATCH 1/3] Bigtable: Deemphasize most of the settings and move them to the StubSettings This is a breaking change because it removes the ClientSettings base class. However to ease the transition, most methods have been copied over but marked deprecated to BigtableDataSettings --- .../bigtable/data/v2/BigtableDataClient.java | 2 +- .../data/v2/BigtableDataSettings.java | 298 ++++++++++++++---- .../bigtable/data/v2/it/env/Emulator.java | 4 +- .../data/v2/stub/ResourceHeaderTest.java | 15 +- .../mutaterows/BulkMutateRowsRetryTest.java | 19 +- .../v2/stub/readrows/ReadRowsRetryTest.java | 17 +- 6 files changed, 270 insertions(+), 85 deletions(-) diff --git a/google-cloud-clients/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/BigtableDataClient.java b/google-cloud-clients/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/BigtableDataClient.java index aa1084b6ff1a..0c3af0916296 100644 --- a/google-cloud-clients/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/BigtableDataClient.java +++ b/google-cloud-clients/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/BigtableDataClient.java @@ -147,7 +147,7 @@ public static BigtableDataClient create( * created based on the settings passed in, or defaults for any settings that are not set. */ public static BigtableDataClient create(BigtableDataSettings settings) throws IOException { - EnhancedBigtableStub stub = EnhancedBigtableStub.create(settings.getTypedStubSettings()); + EnhancedBigtableStub stub = EnhancedBigtableStub.create(settings.getStubSettings()); return new BigtableDataClient(stub); } diff --git a/google-cloud-clients/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/BigtableDataSettings.java b/google-cloud-clients/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/BigtableDataSettings.java index cf7fd5255c8d..37ee4af88071 100644 --- a/google-cloud-clients/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/BigtableDataSettings.java +++ b/google-cloud-clients/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/BigtableDataSettings.java @@ -15,10 +15,15 @@ */ package com.google.cloud.bigtable.data.v2; +import com.google.api.core.ApiClock; +import com.google.api.gax.core.CredentialsProvider; +import com.google.api.gax.core.ExecutorProvider; import com.google.api.gax.rpc.BatchingCallSettings; -import com.google.api.gax.rpc.ClientSettings; +import com.google.api.gax.rpc.HeaderProvider; import com.google.api.gax.rpc.ServerStreamingCallSettings; +import com.google.api.gax.rpc.TransportChannelProvider; import com.google.api.gax.rpc.UnaryCallSettings; +import com.google.api.gax.rpc.WatchdogProvider; import com.google.cloud.bigtable.data.v2.models.ConditionalRowMutation; import com.google.cloud.bigtable.data.v2.models.KeyOffset; import com.google.cloud.bigtable.data.v2.models.Query; @@ -26,9 +31,10 @@ import com.google.cloud.bigtable.data.v2.models.Row; import com.google.cloud.bigtable.data.v2.models.RowMutation; import com.google.cloud.bigtable.data.v2.stub.EnhancedBigtableStubSettings; -import java.io.IOException; import java.util.List; import javax.annotation.Nonnull; +import javax.annotation.Nullable; +import org.threeten.bp.Duration; /** * Settings class to configure an instance of {@link BigtableDataClient}. @@ -52,14 +58,17 @@ * .setInstanceId("my-instance-id") * .setAppProfileId("default"); * - * settingsBuilder.readRowsSettings().setRetryableCodes(Code.DEADLINE_EXCEEDED, Code.UNAVAILABLE); - * * BigtableDataSettings settings = builder.build(); * } + * + *

For fine grained control of individual RPCs, please refer to {@link + * EnhancedBigtableStubSettings}, which is exposed as {@link Builder#stubSettings()}. */ -public class BigtableDataSettings extends ClientSettings { - private BigtableDataSettings(Builder builder) throws IOException { - super(builder); +public final class BigtableDataSettings { + private final EnhancedBigtableStubSettings stubSettings; + + private BigtableDataSettings(Builder builder) { + stubSettings = builder.stubSettings().build(); } /** Create a new builder. */ @@ -74,74 +83,128 @@ public static Builder newBuilder() { */ @Deprecated() public com.google.cloud.bigtable.data.v2.models.InstanceName getInstanceName() { - return getTypedStubSettings().getInstanceName(); + return stubSettings.getInstanceName(); } /** Returns the target project id. */ public String getProjectId() { - return getTypedStubSettings().getProjectId(); + return stubSettings.getProjectId(); } /** Returns the target instance id. */ public String getInstanceId() { - return getTypedStubSettings().getInstanceId(); + return stubSettings.getInstanceId(); } /** Returns the configured AppProfile id to use. */ public String getAppProfileId() { - return getTypedStubSettings().getAppProfileId(); + return stubSettings.getAppProfileId(); } - /** Returns the object with the settings used for calls to ReadRows. */ + /** Returns the underlying RPC settings. */ + public EnhancedBigtableStubSettings getStubSettings() { + return stubSettings; + } + + /** @deprecated Please use {@link #getStubSettings()} */ + @Deprecated public ServerStreamingCallSettings readRowsSettings() { - return getTypedStubSettings().readRowsSettings(); + return stubSettings.readRowsSettings(); } /** Returns the object with the settings used for point reads via ReadRow. */ public UnaryCallSettings readRowSettings() { - return getTypedStubSettings().readRowSettings(); + return stubSettings.readRowSettings(); } - /** Returns the object with the settings used for calls to sampleRowKeys. */ + /** @deprecated Please use {@link #getStubSettings()} */ + @Deprecated public UnaryCallSettings> sampleRowKeysSettings() { - return getTypedStubSettings().sampleRowKeysSettings(); + return stubSettings.sampleRowKeysSettings(); } - /** Returns the object with the settings used for calls to MutateRow. */ + /** @deprecated Please use {@link #getStubSettings()} */ + @Deprecated public UnaryCallSettings mutateRowSettings() { - return getTypedStubSettings().mutateRowSettings(); + return stubSettings.mutateRowSettings(); } - /** Returns the object with the settings used for BulkMutations. */ + /** @deprecated Please use {@link #getStubSettings()} */ + @Deprecated public BatchingCallSettings bulkMutationsSettings() { - // NOTE: the user facing BigtableDataClient only exposes this api as newBulkMutationBatcher, - // so the outer name should match that, while the stub should stick to rpc names. - return getTypedStubSettings().bulkMutateRowsSettings(); + return stubSettings.bulkMutateRowsSettings(); } - /** Returns the object with the settings used for calls to checkAndMutateRow. */ + /** @deprecated Please use {@link #getStubSettings()} */ + @Deprecated public UnaryCallSettings checkAndMutateRowSettings() { - return getTypedStubSettings().checkAndMutateRowSettings(); + return stubSettings.checkAndMutateRowSettings(); } - /** Returns the object with the settings used for calls to ReadModifyWriteRow. */ + /** @deprecated Please use {@link #getStubSettings()} */ + @Deprecated public UnaryCallSettings readModifyWriteRowSettings() { - return getTypedStubSettings().readModifyWriteRowSettings(); + return stubSettings.readModifyWriteRowSettings(); + } + + /** @deprecated Please use {@link #getStubSettings()} */ + @Deprecated + public ExecutorProvider getExecutorProvider() { + return stubSettings.getExecutorProvider(); + } + + /** @deprecated Please use {@link #getStubSettings()} */ + @Deprecated + public TransportChannelProvider getTransportChannelProvider() { + return stubSettings.getTransportChannelProvider(); + } + + /** @deprecated Please use {@link #getStubSettings()} */ + @Deprecated + public CredentialsProvider getCredentialsProvider() { + return stubSettings.getCredentialsProvider(); } - @SuppressWarnings("unchecked") - EnhancedBigtableStubSettings getTypedStubSettings() { - return (EnhancedBigtableStubSettings) getStubSettings(); + /** @deprecated Please use {@link #getStubSettings()} */ + @Deprecated + public HeaderProvider getHeaderProvider() { + return stubSettings.getHeaderProvider(); + } + + /** @deprecated Please use {@link #getStubSettings()} */ + @Deprecated + public ApiClock getClock() { + return stubSettings.getClock(); + } + + /** @deprecated Please use {@link #getStubSettings()} */ + @Deprecated + public String getEndpoint() { + return stubSettings.getEndpoint(); + } + + /** @deprecated Please use {@link #getStubSettings()} */ + @Deprecated + @Nullable + public WatchdogProvider getStreamWatchdogProvider() { + return stubSettings.getStreamWatchdogProvider(); + } + + /** @deprecated Please use {@link #getStubSettings()} */ + @Deprecated + @Nonnull + public Duration getStreamWatchdogCheckInterval() { + return stubSettings.getStreamWatchdogCheckInterval(); } /** Returns a builder containing all the values of this settings class. */ - @SuppressWarnings("unchecked") public Builder toBuilder() { return new Builder(this); } /** Builder for BigtableDataSettings. */ - public static class Builder extends ClientSettings.Builder { + public static class Builder { + private final EnhancedBigtableStubSettings.Builder stubSettings; /** * Initializes a new Builder with sane defaults for all settings. * @@ -151,11 +214,11 @@ public static class Builder extends ClientSettings.Builder @@ -168,7 +231,7 @@ private Builder(BigtableDataSettings settings) { @Deprecated public Builder setInstanceName( @Nonnull com.google.cloud.bigtable.data.v2.models.InstanceName instanceName) { - getTypedStubSettings().setInstanceName(instanceName); + stubSettings.setInstanceName(instanceName); return this; } @@ -180,7 +243,7 @@ public Builder setInstanceName( */ @Deprecated public com.google.cloud.bigtable.data.v2.models.InstanceName getInstanceName() { - return getTypedStubSettings().getInstanceName(); + return stubSettings.getInstanceName(); } /** @@ -188,13 +251,13 @@ public com.google.cloud.bigtable.data.v2.models.InstanceName getInstanceName() { * this setting. */ public Builder setProjectId(@Nonnull String projectId) { - getTypedStubSettings().setProjectId(projectId); + stubSettings.setProjectId(projectId); return this; } /** Gets the project id that was previously set on this Builder. */ public String getProjectId() { - return getTypedStubSettings().getProjectId(); + return stubSettings.getProjectId(); } /** @@ -202,13 +265,13 @@ public String getProjectId() { * this setting. */ public Builder setInstanceId(@Nonnull String instanceId) { - getTypedStubSettings().setInstanceId(instanceId); + stubSettings.setInstanceId(instanceId); return this; } /** Gets the instance id that was previously set on this Builder. */ public String getInstanceId() { - return getTypedStubSettings().getInstanceId(); + return stubSettings.getInstanceId(); } /** @@ -218,60 +281,171 @@ public String getInstanceId() { * handled according to that application profile. */ public Builder setAppProfileId(@Nonnull String appProfileId) { - getTypedStubSettings().setAppProfileId(appProfileId); + stubSettings.setAppProfileId(appProfileId); return this; } /** Gets the app profile id that was previously set on this Builder. */ public String getAppProfileId() { - return getTypedStubSettings().getAppProfileId(); + return stubSettings.getAppProfileId(); } - /** Returns the builder for the settings used for calls to readRows. */ + /** @deprecated Please use {@link #stubSettings()} */ + @Deprecated public ServerStreamingCallSettings.Builder readRowsSettings() { - return getTypedStubSettings().readRowsSettings(); + return stubSettings.readRowsSettings(); } - /** Returns the builder for the settings used for point reads using readRow. */ + /** @deprecated Please use {@link #stubSettings()} */ + @Deprecated public UnaryCallSettings.Builder readRowSettings() { - return getTypedStubSettings().readRowSettings(); + return stubSettings.readRowSettings(); } - /** Returns the builder for the settings used for calls to SampleRowKeysSettings. */ + /** @deprecated Please use {@link #stubSettings()} */ + @Deprecated public UnaryCallSettings.Builder> sampleRowKeysSettings() { - return getTypedStubSettings().sampleRowKeysSettings(); + return stubSettings.sampleRowKeysSettings(); } - /** Returns the builder for the settings used for calls to MutateRow. */ + /** @deprecated Please use {@link #stubSettings()} */ + @Deprecated public UnaryCallSettings.Builder mutateRowSettings() { - return getTypedStubSettings().mutateRowSettings(); + return stubSettings.mutateRowSettings(); } - /** Returns the builder for the settings used for BulkMutations. */ + /** @deprecated Please use {@link #stubSettings()} */ + @Deprecated public BatchingCallSettings.Builder bulkMutationsSettings() { - // NOTE: the user facing BigtableDataClient only exposes this api as newBulkMutationBatcher, - // so the outer name should match that, while the stub should stick to rpc names. - return getTypedStubSettings().bulkMutateRowsSettings(); + return stubSettings.bulkMutateRowsSettings(); } - /** Returns the object with the settings used for calls to checkAndMutateRow. */ + /** @deprecated Please use {@link #stubSettings()} */ + @Deprecated public UnaryCallSettings.Builder checkAndMutateRowSettings() { - return getTypedStubSettings().checkAndMutateRowSettings(); + return stubSettings.checkAndMutateRowSettings(); } - /** Returns the builder with the settings used for calls to ReadModifyWriteRow. */ + /** @deprecated Please use {@link #stubSettings()} */ + @Deprecated public UnaryCallSettings.Builder readModifyWriteRowSettings() { - return getTypedStubSettings().readModifyWriteRowSettings(); + return stubSettings.readModifyWriteRowSettings(); + } + + /** Sets the CredentialsProvider to use for getting the credentials to make calls with. */ + public Builder setCredentialsProvider(CredentialsProvider credentialsProvider) { + stubSettings.setCredentialsProvider(credentialsProvider); + return this; + } + + /** Gets the CredentialsProvider to use for getting the credentials to make calls with. */ + public CredentialsProvider getCredentialsProvider() { + return stubSettings.getCredentialsProvider(); } - @SuppressWarnings("unchecked") - private EnhancedBigtableStubSettings.Builder getTypedStubSettings() { - return (EnhancedBigtableStubSettings.Builder) getStubSettings(); + /** + * Returns the underlying settings for making RPC calls. The settings should be changed with + * care. + */ + public EnhancedBigtableStubSettings.Builder stubSettings() { + return stubSettings; } - public BigtableDataSettings build() throws IOException { + public BigtableDataSettings build() { return new BigtableDataSettings(this); } - // + + /** @deprecated Please use {@link #stubSettings()} */ + @Deprecated + public Builder setExecutorProvider(ExecutorProvider executorProvider) { + stubSettings.setExecutorProvider(executorProvider); + return this; + } + + /** @deprecated Please use {@link #stubSettings()} */ + @Deprecated + public Builder setHeaderProvider(HeaderProvider headerProvider) { + stubSettings.setHeaderProvider(headerProvider); + return this; + } + + /** @deprecated Please use {@link #stubSettings()} */ + @Deprecated + public Builder setTransportChannelProvider(TransportChannelProvider transportChannelProvider) { + stubSettings.setTransportChannelProvider(transportChannelProvider); + return this; + } + + /** @deprecated Please use {@link #stubSettings()} */ + @Deprecated + public Builder setStreamWatchdogProvider(@Nullable WatchdogProvider streamWatchdogProvider) { + stubSettings.setStreamWatchdogProvider(streamWatchdogProvider); + return this; + } + + /** @deprecated Please use {@link #stubSettings()} */ + @Deprecated + public Builder setClock(ApiClock clock) { + stubSettings.setClock(clock); + return this; + } + + /** @deprecated Please use {@link #stubSettings()} */ + @Deprecated + public Builder setEndpoint(String endpoint) { + stubSettings.setEndpoint(endpoint); + return this; + } + + /** @deprecated Please use {@link #stubSettings()} */ + @Deprecated + public Builder setStreamWatchdogCheckInterval(@Nonnull Duration checkInterval) { + stubSettings.setStreamWatchdogCheckInterval(checkInterval); + return this; + } + + /** @deprecated Please use {@link #stubSettings()} */ + @Deprecated + public ExecutorProvider getExecutorProvider() { + return stubSettings.getExecutorProvider(); + } + + /** @deprecated Please use {@link #stubSettings()} */ + @Deprecated + public TransportChannelProvider getTransportChannelProvider() { + return stubSettings.getTransportChannelProvider(); + } + + /** @deprecated Please use {@link #stubSettings()} */ + @Deprecated + public HeaderProvider getHeaderProvider() { + return stubSettings.getHeaderProvider(); + } + + /** @deprecated Please use {@link #stubSettings()} */ + @Deprecated + @Nullable + public WatchdogProvider getStreamWatchdogProvider() { + return stubSettings.getStreamWatchdogProvider(); + } + + /** @deprecated Please use {@link #stubSettings()} */ + @Deprecated + public ApiClock getClock() { + return stubSettings.getClock(); + } + + /** @deprecated Please use {@link #stubSettings()} */ + @Deprecated + public String getEndpoint() { + return stubSettings.getEndpoint(); + } + + /** @deprecated Please use {@link #stubSettings()} */ + @Deprecated + @Nonnull + public Duration getStreamWatchdogCheckInterval() { + return stubSettings.getStreamWatchdogCheckInterval(); + } } } diff --git a/google-cloud-clients/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/it/env/Emulator.java b/google-cloud-clients/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/it/env/Emulator.java index dca4efbc514e..51c156143113 100644 --- a/google-cloud-clients/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/it/env/Emulator.java +++ b/google-cloud-clients/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/it/env/Emulator.java @@ -17,7 +17,6 @@ import com.google.api.gax.core.NoCredentialsProvider; import com.google.api.gax.grpc.GrpcTransportChannel; -import com.google.api.gax.rpc.ClientSettings; import com.google.api.gax.rpc.FixedTransportChannelProvider; import com.google.bigtable.admin.v2.BigtableTableAdminGrpc; import com.google.bigtable.admin.v2.BigtableTableAdminGrpc.BigtableTableAdminBlockingStub; @@ -178,8 +177,9 @@ private ManagedChannel createChannel(int port) { .build(); } - private > T configureClient(T settings) { + private BigtableDataSettings.Builder configureClient(BigtableDataSettings.Builder settings) { settings + .stubSettings() .setCredentialsProvider(new NoCredentialsProvider()) .setTransportChannelProvider( FixedTransportChannelProvider.create(GrpcTransportChannel.create(channel))); diff --git a/google-cloud-clients/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/stub/ResourceHeaderTest.java b/google-cloud-clients/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/stub/ResourceHeaderTest.java index 6176a81a5149..c4c95dd2e925 100644 --- a/google-cloud-clients/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/stub/ResourceHeaderTest.java +++ b/google-cloud-clients/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/stub/ResourceHeaderTest.java @@ -21,7 +21,6 @@ import com.google.api.gax.grpc.testing.InProcessServer; import com.google.api.gax.grpc.testing.LocalChannelProvider; import com.google.api.gax.rpc.FixedHeaderProvider; -import com.google.api.gax.rpc.HeaderProvider; import com.google.bigtable.v2.BigtableGrpc; import com.google.cloud.bigtable.data.v2.BigtableDataClient; import com.google.cloud.bigtable.data.v2.BigtableDataSettings; @@ -64,21 +63,25 @@ public void setUp() throws Exception { server.start(); channelProvider = LocalChannelProvider.create(NAME); - HeaderProvider headerProvider = FixedHeaderProvider.create(TEST_HEADER_NAME, TEST_HEADER_VALUE); BigtableDataSettings.Builder settings = BigtableDataSettings.newBuilder() .setProjectId(PROJECT_ID) .setInstanceId(INSTANCE_ID) - .setTransportChannelProvider(channelProvider) - .setHeaderProvider(headerProvider) .setCredentialsProvider(NoCredentialsProvider.create()); + settings + .stubSettings() + .setTransportChannelProvider(channelProvider) + .setHeaderProvider(FixedHeaderProvider.create(TEST_HEADER_NAME, TEST_HEADER_VALUE)); + // Force immediate flush settings - .bulkMutationsSettings() + .stubSettings() + .bulkMutateRowsSettings() .setBatchingSettings( settings - .bulkMutationsSettings() + .stubSettings() + .bulkMutateRowsSettings() .getBatchingSettings() .toBuilder() .setElementCountThreshold(1L) diff --git a/google-cloud-clients/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/stub/mutaterows/BulkMutateRowsRetryTest.java b/google-cloud-clients/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/stub/mutaterows/BulkMutateRowsRetryTest.java index 10528d333d27..cf3af546463b 100644 --- a/google-cloud-clients/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/stub/mutaterows/BulkMutateRowsRetryTest.java +++ b/google-cloud-clients/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/stub/mutaterows/BulkMutateRowsRetryTest.java @@ -76,16 +76,20 @@ public void setUp() throws Exception { BigtableDataSettings.newBuilder() .setProjectId(PROJECT_ID) .setInstanceId(INSTANCE_ID) - .setCredentialsProvider(NoCredentialsProvider.create()) - .setTransportChannelProvider( - FixedTransportChannelProvider.create( - GrpcTransportChannel.create(serverRule.getChannel()))); + .setCredentialsProvider(NoCredentialsProvider.create()); + settings + .stubSettings() + .setTransportChannelProvider( + FixedTransportChannelProvider.create( + GrpcTransportChannel.create(serverRule.getChannel()))); settings - .bulkMutationsSettings() + .stubSettings() + .bulkMutateRowsSettings() .setRetrySettings( settings - .bulkMutationsSettings() + .stubSettings() + .bulkMutateRowsSettings() .getRetrySettings() .toBuilder() .setMaxAttempts(MAX_ATTEMPTS) @@ -95,7 +99,8 @@ public void setUp() throws Exception { .build()) .setBatchingSettings( settings - .bulkMutationsSettings() + .stubSettings() + .bulkMutateRowsSettings() .getBatchingSettings() .toBuilder() .setDelayThreshold(FLUSH_PERIOD) diff --git a/google-cloud-clients/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/stub/readrows/ReadRowsRetryTest.java b/google-cloud-clients/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/stub/readrows/ReadRowsRetryTest.java index 12c01275cfe1..adedf4b6de1a 100644 --- a/google-cloud-clients/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/stub/readrows/ReadRowsRetryTest.java +++ b/google-cloud-clients/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/stub/readrows/ReadRowsRetryTest.java @@ -66,17 +66,20 @@ public void setUp() throws IOException { service = new TestBigtableService(); serverRule.getServiceRegistry().addService(service); - BigtableDataSettings settings = + BigtableDataSettings.Builder settings = BigtableDataSettings.newBuilder() .setProjectId(PROJECT_ID) .setInstanceId(INSTANCE_ID) - .setCredentialsProvider(NoCredentialsProvider.create()) - .setTransportChannelProvider( - FixedTransportChannelProvider.create( - GrpcTransportChannel.create(serverRule.getChannel()))) - .build(); + .setCredentialsProvider(NoCredentialsProvider.create()); - client = BigtableDataClient.create(settings); + settings + .stubSettings() + .setTransportChannelProvider( + FixedTransportChannelProvider.create( + GrpcTransportChannel.create(serverRule.getChannel()))) + .build(); + + client = BigtableDataClient.create(settings.build()); } @After From f752c4279380a8d623892cc545b747b9afdc4a2d Mon Sep 17 00:00:00 2001 From: Igor Bernstein Date: Wed, 20 Feb 2019 10:37:18 -0500 Subject: [PATCH 2/3] format --- .../cloud/bigtable/data/v2/BigtableDataSettings.java | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/google-cloud-clients/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/BigtableDataSettings.java b/google-cloud-clients/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/BigtableDataSettings.java index ee4cb9be5bb8..05b19804069f 100644 --- a/google-cloud-clients/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/BigtableDataSettings.java +++ b/google-cloud-clients/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/BigtableDataSettings.java @@ -15,12 +15,12 @@ */ package com.google.cloud.bigtable.data.v2; -import com.google.api.core.ApiFunction; -import com.google.api.gax.core.NoCredentialsProvider; -import com.google.api.gax.grpc.InstantiatingGrpcChannelProvider; import com.google.api.core.ApiClock; +import com.google.api.core.ApiFunction; import com.google.api.gax.core.CredentialsProvider; import com.google.api.gax.core.ExecutorProvider; +import com.google.api.gax.core.NoCredentialsProvider; +import com.google.api.gax.grpc.InstantiatingGrpcChannelProvider; import com.google.api.gax.rpc.BatchingCallSettings; import com.google.api.gax.rpc.HeaderProvider; import com.google.api.gax.rpc.ServerStreamingCallSettings; @@ -35,7 +35,6 @@ import com.google.cloud.bigtable.data.v2.models.RowMutation; import com.google.cloud.bigtable.data.v2.stub.EnhancedBigtableStubSettings; import io.grpc.ManagedChannelBuilder; -import java.io.IOException; import java.util.List; import javax.annotation.Nonnull; import javax.annotation.Nullable; From 656a175c362b24160cddd277fd04e93cd8f1e6d0 Mon Sep 17 00:00:00 2001 From: Igor Bernstein Date: Wed, 20 Feb 2019 10:59:23 -0500 Subject: [PATCH 3/3] fix bad merge --- .../com/google/cloud/bigtable/data/v2/BigtableDataSettings.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/google-cloud-clients/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/BigtableDataSettings.java b/google-cloud-clients/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/BigtableDataSettings.java index 05b19804069f..3518f132dd99 100644 --- a/google-cloud-clients/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/BigtableDataSettings.java +++ b/google-cloud-clients/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/BigtableDataSettings.java @@ -85,7 +85,7 @@ public static Builder newBuilderForEmulator(int port) { Builder builder = newBuilder(); builder - .getTypedStubSettings() + .stubSettings() .setProjectId("fake-project") .setInstanceId("fake-instance") .setCredentialsProvider(NoCredentialsProvider.create())