diff --git a/.readme-partials.yml b/.readme-partials.yml index db6f2b40d4..dc9a9e2377 100644 --- a/.readme-partials.yml +++ b/.readme-partials.yml @@ -116,18 +116,14 @@ custom_content: | TIP: If you are experiencing version conflicts with gRPC, see [Version Conflicts](#version-conflicts). ## Enabling client side metrics - + Cloud Bigtable client supports publishing client side metrics to [Cloud Monitoring](https://cloud.google.com/monitoring/docs/monitoring-overview) under the `bigtable.googleapis.com/client` namespace. - - Please fill out this [Google Form](https://forms.gle/xuhu6vCunn2MjV2m9) to sign up for the private preview of this - feature. And enable it by setting: - - ```java - BigtableDataSettings.enableBuiltinMetrics(); - ``` - + + This feature is available once you upgrade to version 2.16.0 and above. + Follow the guide on https://cloud.google.com/bigtable/docs/client-side-metrics-setup to enable. + ## Client request tracing: OpenCensus Tracing Cloud Bigtable client supports [OpenCensus Tracing](https://opencensus.io/tracing/), @@ -203,6 +199,12 @@ custom_content: | ## Enabling Cloud Bigtable Metrics: OpenCensus Stats + --- + Note: We recommend [enabling client side built-in metrics](#enabling-client-side-metrics) + if you want to view your metrics on cloud monitoring. This integration is only for exporting the + metrics to a third party dashboard. + --- + Cloud Bigtable client supports [Opencensus Metrics](https://opencensus.io/stats/), which gives insight into the client internals and aids in debugging production issues. All Cloud Bigtable Metrics are prefixed with `cloud.google.com/java/bigtable/`. The @@ -237,7 +239,7 @@ custom_content: | each operation required, tagged by operation name and final operation status. Under normal circumstances, this will be 1. - ### GFE metric views: + #### GFE metric views: * `cloud.google.com/java/bigtable/gfe_latency`: A distribution of the latency between Google's network receives an RPC and reads back the first byte of the response. diff --git a/CHANGELOG.md b/CHANGELOG.md index d1eb0eaf14..c90667156a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,24 @@ # Changelog +## [2.18.0](https://github.com/googleapis/java-bigtable/compare/v2.17.1...v2.18.0) (2023-01-12) + + +### Features + +* Enable channel priming by default ([#1555](https://github.com/googleapis/java-bigtable/issues/1555)) ([303959c](https://github.com/googleapis/java-bigtable/commit/303959cc88e8cf164a45026d79de67e3f58d09fe)) + + +### Bug Fixes + +* Call attemptStarted method with the request ([#1562](https://github.com/googleapis/java-bigtable/issues/1562)) ([325f09c](https://github.com/googleapis/java-bigtable/commit/325f09c9e257d53871a9071e6bfcbb0887298641)) +* Defer instance admin api errors to RPC time rather then client construction time ([#1576](https://github.com/googleapis/java-bigtable/issues/1576)) ([06a0ced](https://github.com/googleapis/java-bigtable/commit/06a0ced03dbac91145bac6d5d01f327c3ff4a83f)) + + +### Dependencies + +* Update dependency com.google.cloud:google-cloud-shared-dependencies to v3.1.1 ([#1572](https://github.com/googleapis/java-bigtable/issues/1572)) ([a68fb80](https://github.com/googleapis/java-bigtable/commit/a68fb8028a338b937b4baf8c50fad1080e137849)) +* Update dependency org.junit.vintage:junit-vintage-engine to v5.9.2 ([#1573](https://github.com/googleapis/java-bigtable/issues/1573)) ([e1362aa](https://github.com/googleapis/java-bigtable/commit/e1362aa4e47b2da089b21a8cfd124d7e935af8de)) + ## [2.17.1](https://github.com/googleapis/java-bigtable/compare/v2.17.0...v2.17.1) (2022-12-13) diff --git a/README.md b/README.md index be062c7f26..053b1a5ed1 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ If you are using Maven with [BOM][libraries-bom], add this to your pom.xml file: com.google.cloud libraries-bom - 26.1.5 + 26.3.0 pom import @@ -41,7 +41,7 @@ If you are using Maven without BOM, add this to your dependencies: com.google.cloud google-cloud-bigtable - 2.17.0 + 2.17.1 ``` @@ -49,20 +49,20 @@ If you are using Maven without BOM, add this to your dependencies: If you are using Gradle 5.x or later, add this to your dependencies: ```Groovy -implementation platform('com.google.cloud:libraries-bom:26.1.5') +implementation platform('com.google.cloud:libraries-bom:26.3.0') implementation 'com.google.cloud:google-cloud-bigtable' ``` If you are using Gradle without BOM, add this to your dependencies: ```Groovy -implementation 'com.google.cloud:google-cloud-bigtable:2.17.0' +implementation 'com.google.cloud:google-cloud-bigtable:2.17.1' ``` If you are using SBT, add this to your dependencies: ```Scala -libraryDependencies += "com.google.cloud" % "google-cloud-bigtable" % "2.17.0" +libraryDependencies += "com.google.cloud" % "google-cloud-bigtable" % "2.17.1" ``` ## Authentication @@ -219,13 +219,9 @@ Cloud Bigtable client supports publishing client side metrics to [Cloud Monitoring](https://cloud.google.com/monitoring/docs/monitoring-overview) under the `bigtable.googleapis.com/client` namespace. -Please fill out this [Google Form](https://forms.gle/xuhu6vCunn2MjV2m9) to sign up for the private preview of this -feature. And enable it by setting: +This feature is available once you upgrade to version 2.16.0 and above. +Follow the guide on https://cloud.google.com/bigtable/docs/client-side-metrics-setup to enable. -```java -BigtableDataSettings.enableBuiltinMetrics(); -``` - ## Client request tracing: OpenCensus Tracing Cloud Bigtable client supports [OpenCensus Tracing](https://opencensus.io/tracing/), @@ -301,6 +297,12 @@ Tracing.getTraceConfig().updateActiveTraceParams( ## Enabling Cloud Bigtable Metrics: OpenCensus Stats +--- +Note: We recommend [enabling client side built-in metrics](#enabling-client-side-metrics) +if you want to view your metrics on cloud monitoring. This integration is only for exporting the +metrics to a third party dashboard. +--- + Cloud Bigtable client supports [Opencensus Metrics](https://opencensus.io/stats/), which gives insight into the client internals and aids in debugging production issues. All Cloud Bigtable Metrics are prefixed with `cloud.google.com/java/bigtable/`. The @@ -335,7 +337,7 @@ metrics will be tagged with: each operation required, tagged by operation name and final operation status. Under normal circumstances, this will be 1. -### GFE metric views: +#### GFE metric views: * `cloud.google.com/java/bigtable/gfe_latency`: A distribution of the latency between Google's network receives an RPC and reads back the first byte of the response. diff --git a/google-cloud-bigtable-bom/pom.xml b/google-cloud-bigtable-bom/pom.xml index 699bba9f85..5fbef0d9d6 100644 --- a/google-cloud-bigtable-bom/pom.xml +++ b/google-cloud-bigtable-bom/pom.xml @@ -3,7 +3,7 @@ 4.0.0 com.google.cloud google-cloud-bigtable-bom - 2.17.1 + 2.18.0 pom com.google.cloud @@ -63,42 +63,42 @@ com.google.cloud google-cloud-bigtable - 2.17.1 + 2.18.0 com.google.cloud google-cloud-bigtable-emulator - 0.154.1 + 0.155.0 com.google.cloud google-cloud-bigtable-emulator-core - 0.154.1 + 0.155.0 com.google.api.grpc grpc-google-cloud-bigtable-admin-v2 - 2.17.1 + 2.18.0 com.google.api.grpc grpc-google-cloud-bigtable-v2 - 2.17.1 + 2.18.0 com.google.api.grpc proto-google-cloud-bigtable-admin-v2 - 2.17.1 + 2.18.0 com.google.api.grpc proto-google-cloud-bigtable-v2 - 2.17.1 + 2.18.0 com.google.cloud google-cloud-bigtable-stats - 2.17.1 + 2.18.0 diff --git a/google-cloud-bigtable-deps-bom/pom.xml b/google-cloud-bigtable-deps-bom/pom.xml index a3b5235899..7e8882267d 100644 --- a/google-cloud-bigtable-deps-bom/pom.xml +++ b/google-cloud-bigtable-deps-bom/pom.xml @@ -13,7 +13,7 @@ com.google.cloud google-cloud-bigtable-deps-bom - 2.17.1 + 2.18.0 pom @@ -66,7 +66,7 @@ com.google.cloud google-cloud-shared-dependencies - 3.1.0 + 3.1.1 pom import diff --git a/google-cloud-bigtable-emulator-core/pom.xml b/google-cloud-bigtable-emulator-core/pom.xml index 65376f3054..03c051c5c9 100644 --- a/google-cloud-bigtable-emulator-core/pom.xml +++ b/google-cloud-bigtable-emulator-core/pom.xml @@ -7,11 +7,11 @@ google-cloud-bigtable-parent com.google.cloud - 2.17.1 + 2.18.0 google-cloud-bigtable-emulator-core - 0.154.1 + 0.155.0 A Java wrapper for the Cloud Bigtable emulator. diff --git a/google-cloud-bigtable-emulator/pom.xml b/google-cloud-bigtable-emulator/pom.xml index 7e4c290b32..fe00e8bd3e 100644 --- a/google-cloud-bigtable-emulator/pom.xml +++ b/google-cloud-bigtable-emulator/pom.xml @@ -5,7 +5,7 @@ 4.0.0 google-cloud-bigtable-emulator - 0.154.1 + 0.155.0 Google Cloud Java - Bigtable Emulator https://github.com/googleapis/java-bigtable @@ -14,7 +14,7 @@ com.google.cloud google-cloud-bigtable-parent - 2.17.1 + 2.18.0 scm:git:git@github.com:googleapis/java-bigtable.git @@ -81,14 +81,14 @@ com.google.cloud google-cloud-bigtable-deps-bom - 2.17.1 + 2.18.0 pom import com.google.cloud google-cloud-bigtable-bom - 2.17.1 + 2.18.0 pom import @@ -99,7 +99,7 @@ com.google.cloud google-cloud-bigtable-emulator-core - 0.154.1 + 0.155.0 diff --git a/google-cloud-bigtable-stats/pom.xml b/google-cloud-bigtable-stats/pom.xml index 2718b17260..209e243065 100644 --- a/google-cloud-bigtable-stats/pom.xml +++ b/google-cloud-bigtable-stats/pom.xml @@ -5,7 +5,7 @@ com.google.cloud google-cloud-bigtable-parent - 2.17.1 + 2.18.0 4.0.0 @@ -13,7 +13,7 @@ through Stackdriver. Built-in metrics will be implemented with shaded OpenCensus so it won't interfere with customer's application metrics. --> google-cloud-bigtable-stats - 2.17.1 + 2.18.0 Experimental project to shade OpenCensus dependencies. @@ -21,7 +21,7 @@ com.google.cloud google-cloud-bigtable-deps-bom - 2.17.1 + 2.18.0 pom import diff --git a/google-cloud-bigtable/pom.xml b/google-cloud-bigtable/pom.xml index cb1a188c2f..d54bb9da02 100644 --- a/google-cloud-bigtable/pom.xml +++ b/google-cloud-bigtable/pom.xml @@ -2,7 +2,7 @@ 4.0.0 google-cloud-bigtable - 2.17.1 + 2.18.0 jar Google Cloud Bigtable https://github.com/googleapis/java-bigtable @@ -12,11 +12,11 @@ com.google.cloud google-cloud-bigtable-parent - 2.17.1 + 2.18.0 - 2.17.1 + 2.18.0 google-cloud-bigtable @@ -43,14 +43,14 @@ com.google.cloud google-cloud-bigtable-deps-bom - 2.17.1 + 2.18.0 pom import com.google.cloud google-cloud-bigtable-bom - 2.17.1 + 2.18.0 pom import diff --git a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/Version.java b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/Version.java index ac7d3bd20c..3bb6856537 100644 --- a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/Version.java +++ b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/Version.java @@ -20,6 +20,6 @@ @InternalApi("For internal use only") public final class Version { // {x-version-update-start:google-cloud-bigtable:current} - public static String VERSION = "2.17.1"; + public static String VERSION = "2.18.0"; // {x-version-update-end} } diff --git a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/BigtableInstanceAdminSettings.java b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/BigtableInstanceAdminSettings.java index f89142828d..42b0ea9b5d 100644 --- a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/BigtableInstanceAdminSettings.java +++ b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/BigtableInstanceAdminSettings.java @@ -18,11 +18,17 @@ import static com.google.cloud.bigtable.admin.v2.BigtableTableAdminSettings.BIGTABLE_EMULATOR_HOST_ENV_VAR; import com.google.api.gax.core.CredentialsProvider; +import com.google.api.gax.core.NoCredentialsProvider; +import com.google.api.gax.grpc.ChannelPoolSettings; +import com.google.api.gax.grpc.InstantiatingGrpcChannelProvider; import com.google.cloud.bigtable.admin.v2.stub.BigtableInstanceAdminStubSettings; import com.google.common.base.MoreObjects; import com.google.common.base.Preconditions; +import com.google.common.base.Strings; import com.google.common.base.Verify; +import io.grpc.ManagedChannelBuilder; import java.io.IOException; +import java.util.logging.Logger; import javax.annotation.Nonnull; import javax.annotation.Nullable; @@ -47,6 +53,9 @@ * } */ public final class BigtableInstanceAdminSettings { + private static final Logger LOGGER = + Logger.getLogger(BigtableInstanceAdminSettings.class.getName()); + private final String projectId; private final BigtableInstanceAdminStubSettings stubSettings; @@ -115,12 +124,49 @@ public Builder toBuilder() { /** Returns a new builder for this class. */ public static Builder newBuilder() { - Preconditions.checkState( - System.getenv(BIGTABLE_EMULATOR_HOST_ENV_VAR) == null, - "BigtableInstanceAdminSettings doesn't supported on Emulator"); + String hostAndPort = System.getenv(BIGTABLE_EMULATOR_HOST_ENV_VAR); + if (!Strings.isNullOrEmpty(hostAndPort)) { + int port; + try { + port = Integer.parseInt(hostAndPort.substring(hostAndPort.lastIndexOf(":") + 1)); + return newBuilderForEmulator(hostAndPort.substring(0, hostAndPort.lastIndexOf(":")), port); + } catch (NumberFormatException | IndexOutOfBoundsException ex) { + throw new RuntimeException( + "Invalid host/port in " + + BIGTABLE_EMULATOR_HOST_ENV_VAR + + " environment variable: " + + hostAndPort); + } + } return new Builder(); } + /** Create a new builder preconfigured to connect to the Bigtable emulator with port number. */ + public static Builder newBuilderForEmulator(int port) { + return newBuilderForEmulator("localhost", port); + } + + /** + * Creates a new builder preconfigured to connect to the Bigtable emulator with host name and port + * number. + */ + public static Builder newBuilderForEmulator(String hostname, int port) { + Builder builder = new Builder(); + + builder + .stubSettings() + .setCredentialsProvider(NoCredentialsProvider.create()) + .setEndpoint(hostname + ":" + port) + .setTransportChannelProvider( + InstantiatingGrpcChannelProvider.newBuilder() + .setChannelPoolSettings(ChannelPoolSettings.staticallySized(1)) + .setChannelConfigurator(ManagedChannelBuilder::usePlaintext) + .build()); + + LOGGER.info("Connecting to the Bigtable emulator at " + hostname + ":" + port); + return builder; + } + /** Builder for BigtableInstanceAdminSettings. */ public static final class Builder { @Nullable private String projectId; diff --git a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/BigtableTableAdminSettings.java b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/BigtableTableAdminSettings.java index ce05f0a2d8..4d3a71155a 100644 --- a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/BigtableTableAdminSettings.java +++ b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/BigtableTableAdminSettings.java @@ -15,9 +15,9 @@ */ package com.google.cloud.bigtable.admin.v2; -import com.google.api.core.ApiFunction; import com.google.api.gax.core.CredentialsProvider; import com.google.api.gax.core.NoCredentialsProvider; +import com.google.api.gax.grpc.ChannelPoolSettings; import com.google.api.gax.grpc.InstantiatingGrpcChannelProvider; import com.google.cloud.bigtable.admin.v2.stub.BigtableTableAdminStubSettings; import com.google.common.base.MoreObjects; @@ -174,14 +174,8 @@ public static Builder newBuilderForEmulator(String hostname, int port) { .setEndpoint(hostname + ":" + port) .setTransportChannelProvider( InstantiatingGrpcChannelProvider.newBuilder() - .setPoolSize(1) - .setChannelConfigurator( - new ApiFunction() { - @Override - public ManagedChannelBuilder apply(ManagedChannelBuilder input) { - return input.usePlaintext(); - } - }) + .setChannelPoolSettings(ChannelPoolSettings.staticallySized(1)) + .setChannelConfigurator(ManagedChannelBuilder::usePlaintext) .build()); LOGGER.info("Connecting to the Bigtable emulator at " + hostname + ":" + port); diff --git a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/BigtableDataSettings.java b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/BigtableDataSettings.java index db34f5fa65..8579c0e4cd 100644 --- a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/BigtableDataSettings.java +++ b/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.core.BetaApi; import com.google.api.gax.batching.Batcher; import com.google.api.gax.batching.FlowController; import com.google.api.gax.core.CredentialsProvider; import com.google.api.gax.core.NoCredentialsProvider; +import com.google.api.gax.grpc.ChannelPoolSettings; import com.google.api.gax.grpc.InstantiatingGrpcChannelProvider; import com.google.api.gax.rpc.UnaryCallSettings; import com.google.auth.Credentials; @@ -124,17 +124,13 @@ public static Builder newBuilderForEmulator(String hostname, int port) { .stubSettings() .setCredentialsProvider(NoCredentialsProvider.create()) .setEndpoint(hostname + ":" + port) + // disable channel refreshing when creating an emulator + .setRefreshingChannel(false) .setTransportChannelProvider( InstantiatingGrpcChannelProvider.newBuilder() .setMaxInboundMessageSize(256 * 1024 * 1024) - .setPoolSize(1) - .setChannelConfigurator( - new ApiFunction() { - @Override - public ManagedChannelBuilder apply(ManagedChannelBuilder input) { - return input.usePlaintext(); - } - }) + .setChannelPoolSettings(ChannelPoolSettings.staticallySized(1)) + .setChannelConfigurator(ManagedChannelBuilder::usePlaintext) .setKeepAliveTime(Duration.ofSeconds(61)) // sends ping in this interval .setKeepAliveTimeout( Duration.ofSeconds(10)) // wait this long before considering the connection dead @@ -244,8 +240,12 @@ public String getAppProfileId() { return stubSettings.getAppProfileId(); } - /** Gets if channels will gracefully refresh connections to Cloud Bigtable service */ - @BetaApi("Channel priming is not currently stable and may change in the future") + /** + * Gets if channels will gracefully refresh connections to Cloud Bigtable service + * + * @deprecated Channel refreshing is enabled by default and this method will be deprecated. + */ + @Deprecated public boolean isRefreshingChannel() { return stubSettings.isRefreshingChannel(); } @@ -395,19 +395,25 @@ public CredentialsProvider getCredentialsProvider() { /** * Configure periodic gRPC channel refreshes. * - *

This feature will gracefully refresh connections to the Cloud Bigtable service. This is an - * experimental feature to address tail latency caused by the service dropping long lived gRPC - * connections, which causes the client to renegotiate the gRPC connection in the request path, - * which causes periodic spikes in latency + *

This feature will gracefully refresh connections to the Cloud Bigtable service. This is a + * feature to address tail latency caused by the service dropping long lived gRPC connections, + * which causes the client to renegotiate the gRPC connection in the request path, which causes + * periodic spikes in latency. + * + * @deprecated Channel refreshing is enabled by default and this method will be deprecated. */ - @BetaApi("Channel priming is not currently stable and may change in the future") + @Deprecated public Builder setRefreshingChannel(boolean isRefreshingChannel) { stubSettings.setRefreshingChannel(isRefreshingChannel); return this; } - /** Gets if channels will gracefully refresh connections to Cloud Bigtable service */ - @BetaApi("Channel priming is not currently stable and may change in the future") + /** + * Gets if channels will gracefully refresh connections to Cloud Bigtable service. + * + * @deprecated Channel refreshing is enabled by default and this method will be deprecated. + */ + @Deprecated public boolean isRefreshingChannel() { return stubSettings.isRefreshingChannel(); } diff --git a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/BigtableChannelPrimer.java b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/BigtableChannelPrimer.java index 303f52a8e2..ecbef85be5 100644 --- a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/BigtableChannelPrimer.java +++ b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/BigtableChannelPrimer.java @@ -51,6 +51,8 @@ static BigtableChannelPrimer create( .setInstanceId(instanceId) .setAppProfileId(appProfileId) .setCredentialsProvider(FixedCredentialsProvider.create(credentials)) + // Disable refreshing channel here to avoid creating settings in a loop + .setRefreshingChannel(false) .setExecutorProvider( InstantiatingExecutorProvider.newBuilder().setExecutorThreadCount(1).build()); diff --git a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/EnhancedBigtableStubSettings.java b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/EnhancedBigtableStubSettings.java index f2ae486d9e..c78bdafbf3 100644 --- a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/EnhancedBigtableStubSettings.java +++ b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/EnhancedBigtableStubSettings.java @@ -15,7 +15,6 @@ */ package com.google.cloud.bigtable.data.v2.stub; -import com.google.api.core.BetaApi; import com.google.api.core.InternalApi; import com.google.api.gax.batching.BatchingCallSettings; import com.google.api.gax.batching.BatchingSettings; @@ -236,8 +235,12 @@ public String getAppProfileId() { return appProfileId; } - /** Returns if channels will gracefully refresh connections to Cloud Bigtable service */ - @BetaApi("This API depends on experimental gRPC APIs") + /** + * Returns if channels will gracefully refresh connections to Cloud Bigtable service + * + * @deprecated Channel refreshing is enabled by default and this method will be deprecated. + */ + @Deprecated public boolean isRefreshingChannel() { return isRefreshingChannel; } @@ -545,7 +548,7 @@ public static class Builder extends StubSettings.BuilderWhen enabled, this will wait for the connection to complete the SSL handshake and warm up - * serverside caches for all the tables of the instance. + * serverside caches for all the tables of the instance. This feature is enabled by default. * * @see com.google.cloud.bigtable.data.v2.BigtableDataSettings.Builder#setRefreshingChannel + * @deprecated Channel refreshing is enabled by default and this method will be deprecated. */ - @BetaApi("This API depends on experimental gRPC APIs") + @Deprecated public Builder setRefreshingChannel(boolean isRefreshingChannel) { this.isRefreshingChannel = isRefreshingChannel; return this; @@ -777,8 +781,12 @@ public Builder setPrimedTableIds(String... tableIds) { return this; } - /** Gets if channels will gracefully refresh connections to Cloud Bigtable service */ - @BetaApi("This API depends on experimental gRPC APIs") + /** + * Gets if channels will gracefully refresh connections to Cloud Bigtable service. + * + * @deprecated Channel refreshing is enabled by default and this method will be deprecated. + */ + @Deprecated public boolean isRefreshingChannel() { return isRefreshingChannel; } diff --git a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/mutaterows/MutateRowsAttemptCallable.java b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/mutaterows/MutateRowsAttemptCallable.java index de2bf6224f..36c2930bda 100644 --- a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/mutaterows/MutateRowsAttemptCallable.java +++ b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/mutaterows/MutateRowsAttemptCallable.java @@ -169,7 +169,8 @@ public Void call() { // variables in ApiTracer and avoid exceptions when the tracer marks the attempt as finished callContext .getTracer() - .attemptStarted(externalFuture.getAttemptSettings().getOverallAttemptCount()); + .attemptStarted( + currentRequest, externalFuture.getAttemptSettings().getOverallAttemptCount()); Preconditions.checkState( currentRequest.getEntriesCount() > 0, "Request doesn't have any mutations to send"); diff --git a/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/BigtableDataSettingsTest.java b/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/BigtableDataSettingsTest.java index 2b95bf821f..de4fbe92fc 100644 --- a/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/BigtableDataSettingsTest.java +++ b/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/BigtableDataSettingsTest.java @@ -33,6 +33,9 @@ public void testToString() { .setInstanceId("our-instance-85") .setAppProfileId("our-appProfile-06") .enableBatchMutationLatencyBasedThrottling(10) + // disable channel priming so we won't need authentication + // for sending the prime request since we're only testing the settings. + .setRefreshingChannel(false) .build(); EnhancedBigtableStubSettings stubSettings = settings.getStubSettings(); assertThat(settings.toString()) diff --git a/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/stub/EnhancedBigtableStubCloseTest.java b/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/stub/EnhancedBigtableStubCloseTest.java index 597b109b0b..e918378691 100644 --- a/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/stub/EnhancedBigtableStubCloseTest.java +++ b/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/stub/EnhancedBigtableStubCloseTest.java @@ -65,7 +65,6 @@ public void setUp() throws Exception { .setProjectId(PROJECT_ID) .setInstanceId(INSTANCE_ID) .setCredentialsProvider(NoCredentialsProvider.create()) - .setRefreshingChannel(false) .build() .getStubSettings(); diff --git a/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/stub/EnhancedBigtableStubSettingsTest.java b/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/stub/EnhancedBigtableStubSettingsTest.java index d5a22884b6..466355f892 100644 --- a/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/stub/EnhancedBigtableStubSettingsTest.java +++ b/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/stub/EnhancedBigtableStubSettingsTest.java @@ -185,7 +185,10 @@ public void readRowsIsNotLostTest() { EnhancedBigtableStubSettings.Builder builder = EnhancedBigtableStubSettings.newBuilder() .setProjectId(dummyProjectId) - .setInstanceId(dummyInstanceId); + .setInstanceId(dummyInstanceId) + // Here and everywhere in this test, disable channel priming so we won't need + // authentication for sending the prime request since we're only testing the settings. + .setRefreshingChannel(false); RetrySettings retrySettings = RetrySettings.newBuilder() @@ -243,7 +246,8 @@ public void readRowIsNotLostTest() { EnhancedBigtableStubSettings.Builder builder = EnhancedBigtableStubSettings.newBuilder() .setProjectId("my-project") - .setInstanceId("my-instance"); + .setInstanceId("my-instance") + .setRefreshingChannel(false); RetrySettings retrySettings = RetrySettings.newBuilder() @@ -295,7 +299,8 @@ public void readRowRetryCodesMustMatch() { EnhancedBigtableStubSettings.Builder builder = EnhancedBigtableStubSettings.newBuilder() .setProjectId("my-project") - .setInstanceId("my-instance"); + .setInstanceId("my-instance") + .setRefreshingChannel(false); builder.readRowsSettings().setRetryableCodes(Code.DEADLINE_EXCEEDED); @@ -329,7 +334,8 @@ public void sampleRowKeysSettingsAreNotLostTest() { EnhancedBigtableStubSettings.Builder builder = EnhancedBigtableStubSettings.newBuilder() .setProjectId(dummyProjectId) - .setInstanceId(dummyInstanceId); + .setInstanceId(dummyInstanceId) + .setRefreshingChannel(false); RetrySettings retrySettings = RetrySettings.newBuilder() @@ -376,7 +382,8 @@ public void mutateRowSettingsAreNotLostTest() { EnhancedBigtableStubSettings.Builder builder = EnhancedBigtableStubSettings.newBuilder() .setProjectId(dummyProjectId) - .setInstanceId(dummyInstanceId); + .setInstanceId(dummyInstanceId) + .setRefreshingChannel(false); RetrySettings retrySettings = RetrySettings.newBuilder() @@ -423,7 +430,8 @@ public void bulkMutateRowsSettingsAreNotLostTest() { EnhancedBigtableStubSettings.Builder builder = EnhancedBigtableStubSettings.newBuilder() .setProjectId(dummyProjectId) - .setInstanceId(dummyInstanceId); + .setInstanceId(dummyInstanceId) + .setRefreshingChannel(false); assertThat(builder.bulkMutateRowsSettings().isLatencyBasedThrottlingEnabled()).isFalse(); @@ -536,7 +544,8 @@ public void bulkReadRowsSettingsAreNotLostTest() { EnhancedBigtableStubSettings.Builder builder = EnhancedBigtableStubSettings.newBuilder() .setProjectId(dummyProjectId) - .setInstanceId(dummyInstanceId); + .setInstanceId(dummyInstanceId) + .setRefreshingChannel(false); RetrySettings retrySettings = RetrySettings.newBuilder() @@ -611,7 +620,8 @@ public void checkAndMutateRowSettingsAreNotLostTest() { EnhancedBigtableStubSettings.Builder builder = EnhancedBigtableStubSettings.newBuilder() .setProjectId(dummyProjectId) - .setInstanceId(dummyInstanceId); + .setInstanceId(dummyInstanceId) + .setRefreshingChannel(false); RetrySettings retrySettings = RetrySettings.newBuilder().build(); builder @@ -677,9 +687,7 @@ public void isRefreshingChannelDefaultValueTest() { EnhancedBigtableStubSettings.newBuilder() .setProjectId(dummyProjectId) .setInstanceId(dummyInstanceId); - assertThat(builder.isRefreshingChannel()).isFalse(); - assertThat(builder.build().isRefreshingChannel()).isFalse(); - assertThat(builder.build().toBuilder().isRefreshingChannel()).isFalse(); + assertThat(builder.isRefreshingChannel()).isTrue(); } @Test @@ -721,6 +729,7 @@ public void testToString() { .setProjectId("our-project-85") .setInstanceId("our-instance-06") .setAppProfileId("our-appProfile-06") + .setRefreshingChannel(false) .build(); checkToString(defaultSettings); diff --git a/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/stub/EnhancedBigtableStubTest.java b/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/stub/EnhancedBigtableStubTest.java index 8176435f15..16100ad044 100644 --- a/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/stub/EnhancedBigtableStubTest.java +++ b/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/stub/EnhancedBigtableStubTest.java @@ -162,7 +162,6 @@ public void testJwtAudience() .setCredentialsProvider(FixedCredentialsProvider.create(jwtCreds)) .build(); enhancedBigtableStub = EnhancedBigtableStub.create(settings); - // Send rpc and grab the credentials sent enhancedBigtableStub.readRowCallable().futureCall(Query.create("fake-table")).get(); Metadata metadata = metadataInterceptor.headers.take(); @@ -208,6 +207,9 @@ public void testBatchJwtAudience() .setTransportChannelProvider( FixedTransportChannelProvider.create( GrpcTransportChannel.create(emulatorChannel))) + // Channel refreshing doesn't work with FixedTransportChannelProvider. Disable it for + // the test + .setRefreshingChannel(false) .build(); enhancedBigtableStub = EnhancedBigtableStub.create(settings); // Send rpc and grab the credentials sent @@ -342,7 +344,7 @@ public void export(Collection collection) { @Test public void testBulkMutationFlowControllerConfigured() throws Exception { BigtableDataSettings.Builder settings = - BigtableDataSettings.newBuilder() + BigtableDataSettings.newBuilderForEmulator(server.getPort()) .setProjectId("my-project") .setInstanceId("my-instance") .setCredentialsProvider(defaultSettings.getCredentialsProvider()) diff --git a/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/stub/HeadersTest.java b/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/stub/HeadersTest.java index f1655e2880..020c0a1c27 100644 --- a/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/stub/HeadersTest.java +++ b/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/stub/HeadersTest.java @@ -233,6 +233,7 @@ public void checkAndMutateRow( CheckAndMutateRowRequest request, StreamObserver responseObserver) { responseObserver.onNext(CheckAndMutateRowResponse.getDefaultInstance()); + responseObserver.onCompleted(); } @Override diff --git a/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/stub/mutaterows/MutateRowsRetryTest.java b/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/stub/mutaterows/MutateRowsRetryTest.java index 19ab6413a0..5d15dd5219 100644 --- a/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/stub/mutaterows/MutateRowsRetryTest.java +++ b/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/stub/mutaterows/MutateRowsRetryTest.java @@ -69,6 +69,8 @@ public void setUp() throws IOException { .setTransportChannelProvider( FixedTransportChannelProvider.create( GrpcTransportChannel.create(serverRule.getChannel()))) + // channel priming doesn't work with FixedTransportChannelProvider. Disable it for the test + .setRefreshingChannel(false) .build(); this.client = BigtableDataClient.create(settings.build()); diff --git a/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/stub/readrows/ReadRowsRetryTest.java b/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/stub/readrows/ReadRowsRetryTest.java index 54a3af5cf5..0f9ad21fa0 100644 --- a/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/stub/readrows/ReadRowsRetryTest.java +++ b/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/stub/readrows/ReadRowsRetryTest.java @@ -81,6 +81,8 @@ public void setUp() throws IOException { .setTransportChannelProvider( FixedTransportChannelProvider.create( GrpcTransportChannel.create(serverRule.getChannel()))) + // Refreshing channel doesn't work with FixedTransportChannelProvider + .setRefreshingChannel(false) .build(); client = BigtableDataClient.create(settings.build()); diff --git a/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/test_helpers/env/CloudEnv.java b/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/test_helpers/env/CloudEnv.java index ba0fda8b2c..f1308f3520 100644 --- a/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/test_helpers/env/CloudEnv.java +++ b/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/test_helpers/env/CloudEnv.java @@ -120,7 +120,10 @@ private CloudEnv( this.kmsKeyName = kmsKeyName; this.dataSettings = - BigtableDataSettings.newBuilder().setProjectId(projectId).setInstanceId(instanceId); + BigtableDataSettings.newBuilder() + .setProjectId(projectId) + .setInstanceId(instanceId) + .setRefreshingChannel(false); if (!Strings.isNullOrEmpty(dataEndpoint)) { dataSettings.stubSettings().setEndpoint(dataEndpoint); } diff --git a/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/test_helpers/env/EmulatorEnv.java b/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/test_helpers/env/EmulatorEnv.java index e4b0a26515..bec3e0eef2 100644 --- a/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/test_helpers/env/EmulatorEnv.java +++ b/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/test_helpers/env/EmulatorEnv.java @@ -61,6 +61,7 @@ void start() throws Exception { BigtableDataSettings.newBuilderForEmulator(emulator.getPort()) .setProjectId("fake-project") .setInstanceId("fake-instance") + .setRefreshingChannel(false) .build(); dataClient = BigtableDataClient.create(dataSettings); diff --git a/grpc-google-cloud-bigtable-admin-v2/pom.xml b/grpc-google-cloud-bigtable-admin-v2/pom.xml index 8a842f6959..1d7181947b 100644 --- a/grpc-google-cloud-bigtable-admin-v2/pom.xml +++ b/grpc-google-cloud-bigtable-admin-v2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-bigtable-admin-v2 - 2.17.1 + 2.18.0 grpc-google-cloud-bigtable-admin-v2 GRPC library for grpc-google-cloud-bigtable-admin-v2 com.google.cloud google-cloud-bigtable-parent - 2.17.1 + 2.18.0 @@ -18,14 +18,14 @@ com.google.cloud google-cloud-bigtable-deps-bom - 2.17.1 + 2.18.0 pom import com.google.cloud google-cloud-bigtable-bom - 2.17.1 + 2.18.0 pom import diff --git a/grpc-google-cloud-bigtable-v2/pom.xml b/grpc-google-cloud-bigtable-v2/pom.xml index 3f2b256609..8ae439dbb5 100644 --- a/grpc-google-cloud-bigtable-v2/pom.xml +++ b/grpc-google-cloud-bigtable-v2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-bigtable-v2 - 2.17.1 + 2.18.0 grpc-google-cloud-bigtable-v2 GRPC library for grpc-google-cloud-bigtable-v2 com.google.cloud google-cloud-bigtable-parent - 2.17.1 + 2.18.0 @@ -18,14 +18,14 @@ com.google.cloud google-cloud-bigtable-deps-bom - 2.17.1 + 2.18.0 pom import com.google.cloud google-cloud-bigtable-bom - 2.17.1 + 2.18.0 pom import diff --git a/pom.xml b/pom.xml index afeee0d024..37078e2b54 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ google-cloud-bigtable-parent pom - 2.17.1 + 2.18.0 Google Cloud Bigtable Parent https://github.com/googleapis/java-bigtable @@ -153,27 +153,27 @@ com.google.api.grpc proto-google-cloud-bigtable-v2 - 2.17.1 + 2.18.0 com.google.api.grpc proto-google-cloud-bigtable-admin-v2 - 2.17.1 + 2.18.0 com.google.api.grpc grpc-google-cloud-bigtable-v2 - 2.17.1 + 2.18.0 com.google.api.grpc grpc-google-cloud-bigtable-admin-v2 - 2.17.1 + 2.18.0 com.google.cloud google-cloud-bigtable - 2.17.1 + 2.18.0 @@ -207,7 +207,7 @@ org.mockito mockito-core - 4.9.0 + 4.11.0 @@ -245,6 +245,7 @@ + none protected true @@ -318,6 +319,7 @@ maven-javadoc-plugin 3.4.1 + com.microsoft.doclet.DocFxDoclet false ${env.KOKORO_GFILE_DIR}/java-docfx-doclet-1.5.0.jar @@ -325,9 +327,18 @@ -outputpath ${project.build.directory}/docfx-yml -projectname ${artifactId} - -excludeclasses com\.google\.cloud\.bigtable\.admin\.v2\.internal\.:com\.google\.cloud\.bigtable\.admin\.v2\.BaseBigtableInstanceAdminClient:com\.google\.cloud\.bigtable\.admin\.v2\.BaseBigtableInstanceAdminSettings:com\.google\.cloud\.bigtable\.admin\.v2\.stub\.GrpcBigtableInstanceAdminCallableFactory:com\.google\.cloud\.bigtable\.admin\.v2\.stub\.GrpcBigtableInstanceAdminStub:com\.google\.cloud\.bigtable\.admin\.v2\.stub\.BigtableInstanceAdminStub:com\.google\.cloud\.bigtable\.admin\.v2\.BaseBigtableTableAdminClient:com\.google\.cloud\.bigtable\.admin\.v2\.BaseBigtableTableAdminSettings:com\.google\.cloud\.bigtable\.admin\.v2\.stub\.GrpcBigtableTableAdminCallableFactory:com\.google\.cloud\.bigtable\.admin\.v2\.stub\.GrpcBigtableTableAdminStub:com\.google\.cloud\.bigtable\.admin\.v2\.stub\.BigtableTableAdminStub:com\.google\.cloud\.bigtable\.admin\.v2\.stub\.EnhancedBigtableTableAdminStub:com\.google\.cloud\.bigtable\.data\.v2\.internal\.:com\.google\.cloud\.bigtable\.data\.v2\.BaseBigtableDataClient:com\.google\.cloud\.bigtable\.data\.v2\.BaseBigtableDataSettings:com\.google\.cloud\.bigtable\.data\.v2\.stub\.BigtableStub:com\.google\.cloud\.bigtable\.data\.v2\.stub\.BigtableStubSettings:com\.google\.cloud\.bigtable\.data\.v2\.stub\.GrpcBigtableStub:com\.google\.cloud\.bigtable\.data\.v2\.stub\.GrpcBigtableCallableFactory:com\.google\.cloud\.bigtable\.data\.v2\.stub\.EnhancedBigtableStub:com\.google\.cloud\.bigtable\.data\.v2\.stub\.mutaterows\.:com\.google\.cloud\.bigtable\.data\.v2\.stub\.readrows\.:com\.google\.cloud\.bigtable\.data\.v2\.stub\.metrics\. + + -excludeclasses com\.google\.cloud\.bigtable\.admin\.v2\.(internal\.|(Base.*).*|stub\.(?!Bigtable.*StubSettings).*):com\.google\.cloud\.bigtable\.data\.v2\.(internal\.|(Base.*).*|stub\.(?!Enhanced.*StubSettings).*) + + -excludepackages com\.google\.(bigtable\.v2|bigtable\.admin\.v2|cloud\.bigtable\.stats) + aggregate diff --git a/proto-google-cloud-bigtable-admin-v2/pom.xml b/proto-google-cloud-bigtable-admin-v2/pom.xml index 76825ef41a..632ca26f37 100644 --- a/proto-google-cloud-bigtable-admin-v2/pom.xml +++ b/proto-google-cloud-bigtable-admin-v2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-bigtable-admin-v2 - 2.17.1 + 2.18.0 proto-google-cloud-bigtable-admin-v2 PROTO library for proto-google-cloud-bigtable-admin-v2 com.google.cloud google-cloud-bigtable-parent - 2.17.1 + 2.18.0 @@ -18,14 +18,14 @@ com.google.cloud google-cloud-bigtable-deps-bom - 2.17.1 + 2.18.0 pom import com.google.cloud google-cloud-bigtable-bom - 2.17.1 + 2.18.0 pom import diff --git a/proto-google-cloud-bigtable-v2/pom.xml b/proto-google-cloud-bigtable-v2/pom.xml index 99ae44e02a..d7a0469bf5 100644 --- a/proto-google-cloud-bigtable-v2/pom.xml +++ b/proto-google-cloud-bigtable-v2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-bigtable-v2 - 2.17.1 + 2.18.0 proto-google-cloud-bigtable-v2 PROTO library for proto-google-cloud-bigtable-v2 com.google.cloud google-cloud-bigtable-parent - 2.17.1 + 2.18.0 @@ -18,14 +18,14 @@ com.google.cloud google-cloud-bigtable-deps-bom - 2.17.1 + 2.18.0 pom import com.google.cloud google-cloud-bigtable-bom - 2.17.1 + 2.18.0 pom import diff --git a/samples/install-without-bom/pom.xml b/samples/install-without-bom/pom.xml index 656b7cf8ed..fabaaf998c 100644 --- a/samples/install-without-bom/pom.xml +++ b/samples/install-without-bom/pom.xml @@ -29,7 +29,7 @@ com.google.cloud google-cloud-bigtable - 2.17.0 + 2.17.1 diff --git a/samples/native-image-sample/pom.xml b/samples/native-image-sample/pom.xml index 1bf3a9e595..34746b6234 100644 --- a/samples/native-image-sample/pom.xml +++ b/samples/native-image-sample/pom.xml @@ -29,7 +29,7 @@ com.google.cloud libraries-bom - 26.1.5 + 26.3.0 pom import @@ -83,7 +83,7 @@ org.junit.vintage junit-vintage-engine - 5.9.1 + 5.9.2 test diff --git a/samples/snapshot/pom.xml b/samples/snapshot/pom.xml index 69a5bf97aa..2d8357d423 100644 --- a/samples/snapshot/pom.xml +++ b/samples/snapshot/pom.xml @@ -28,7 +28,7 @@ com.google.cloud google-cloud-bigtable - 2.17.1 + 2.18.0 diff --git a/samples/snippets/pom.xml b/samples/snippets/pom.xml index 7083717877..6d31e3d7c9 100644 --- a/samples/snippets/pom.xml +++ b/samples/snippets/pom.xml @@ -30,7 +30,7 @@ com.google.cloud libraries-bom - 26.1.5 + 26.3.0 pom import diff --git a/test-proxy/pom.xml b/test-proxy/pom.xml index 23b3f8fe1e..f57dff1b42 100644 --- a/test-proxy/pom.xml +++ b/test-proxy/pom.xml @@ -12,11 +12,11 @@ google-cloud-bigtable-parent com.google.cloud - 2.17.1 + 2.18.0 - 2.17.1 + 2.18.0 diff --git a/test-proxy/src/main/java/com/google/cloud/bigtable/testproxy/CbtTestProxy.java b/test-proxy/src/main/java/com/google/cloud/bigtable/testproxy/CbtTestProxy.java index 18e9be1e92..54d02a7018 100644 --- a/test-proxy/src/main/java/com/google/cloud/bigtable/testproxy/CbtTestProxy.java +++ b/test-proxy/src/main/java/com/google/cloud/bigtable/testproxy/CbtTestProxy.java @@ -49,10 +49,10 @@ import io.grpc.ManagedChannelBuilder; import io.grpc.Status; import io.grpc.StatusException; -import io.grpc.netty.GrpcSslContexts; -import io.grpc.netty.NettyChannelBuilder; +import io.grpc.netty.shaded.io.grpc.netty.GrpcSslContexts; +import io.grpc.netty.shaded.io.grpc.netty.NettyChannelBuilder; +import io.grpc.netty.shaded.io.netty.handler.ssl.SslContext; import io.grpc.stub.StreamObserver; -import io.netty.handler.ssl.SslContext; import java.io.ByteArrayInputStream; import java.io.Closeable; import java.io.IOException; diff --git a/versions.txt b/versions.txt index 057baba7fa..08cef370b7 100644 --- a/versions.txt +++ b/versions.txt @@ -1,10 +1,10 @@ # Format: # module:released-version:current-version -google-cloud-bigtable:2.17.1:2.17.1 -grpc-google-cloud-bigtable-admin-v2:2.17.1:2.17.1 -grpc-google-cloud-bigtable-v2:2.17.1:2.17.1 -proto-google-cloud-bigtable-admin-v2:2.17.1:2.17.1 -proto-google-cloud-bigtable-v2:2.17.1:2.17.1 -google-cloud-bigtable-emulator:0.154.1:0.154.1 -google-cloud-bigtable-emulator-core:2.17.1:2.17.1 +google-cloud-bigtable:2.18.0:2.18.0 +grpc-google-cloud-bigtable-admin-v2:2.18.0:2.18.0 +grpc-google-cloud-bigtable-v2:2.18.0:2.18.0 +proto-google-cloud-bigtable-admin-v2:2.18.0:2.18.0 +proto-google-cloud-bigtable-v2:2.18.0:2.18.0 +google-cloud-bigtable-emulator:0.155.0:0.155.0 +google-cloud-bigtable-emulator-core:2.18.0:2.18.0