- 2.17.1-SNAPSHOT
+ 2.17.2-SNAPSHOT
google-cloud-bigtable
@@ -47,14 +47,14 @@
com.google.cloud
google-cloud-bigtable-deps-bom
- 2.17.1-SNAPSHOT
+ 2.17.2-SNAPSHOT
pom
import
com.google.cloud
google-cloud-bigtable-bom
- 2.17.1-SNAPSHOT
+ 2.17.2-SNAPSHOT
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 e546a333ba46..5114712c52aa 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-SNAPSHOT";
+ public static String VERSION = "2.17.2-SNAPSHOT";
// {x-version-update-end}
}
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 db34f5fa6520..28265b282d75 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
@@ -124,6 +124,8 @@ 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)
@@ -244,8 +246,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 +401,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 303f52a8e2dc..ecbef85be5ec 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 a69bb939997f..b6dd063cb624 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;
@@ -282,8 +281,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;
}
@@ -605,7 +608,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;
@@ -852,8 +856,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 de2bf6224f38..36c2930bdac6 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 2b95bf821fc7..de4fbe92fc5c 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 597b109b0bf1..e918378691b5 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 696fde8060e6..a754421ad962 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
@@ -643,7 +653,8 @@ public void generateInitialChangeStreamPartitionsSettingsAreNotLostTest() {
EnhancedBigtableStubSettings.Builder builder =
EnhancedBigtableStubSettings.newBuilder()
.setProjectId(dummyProjectId)
- .setInstanceId(dummyInstanceId);
+ .setInstanceId(dummyInstanceId)
+ .setRefreshingChannel(false);
RetrySettings retrySettings = RetrySettings.newBuilder().build();
builder
@@ -686,7 +697,8 @@ public void readChangeStreamSettingsAreNotLostTest() {
EnhancedBigtableStubSettings.Builder builder =
EnhancedBigtableStubSettings.newBuilder()
.setProjectId(dummyProjectId)
- .setInstanceId(dummyInstanceId);
+ .setInstanceId(dummyInstanceId)
+ .setRefreshingChannel(false);
RetrySettings retrySettings = RetrySettings.newBuilder().build();
builder
@@ -752,9 +764,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
@@ -798,6 +808,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 8176435f1545..16100ad044f0 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 f1655e2880d5..020c0a1c27d9 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/changestream/ReadChangeStreamRetryTest.java b/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/stub/changestream/ReadChangeStreamRetryTest.java
index a0defe637502..a75db98fcb19 100644
--- a/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/stub/changestream/ReadChangeStreamRetryTest.java
+++ b/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/stub/changestream/ReadChangeStreamRetryTest.java
@@ -83,7 +83,7 @@ public void setUp() throws IOException {
serverRule.getServiceRegistry().addService(service);
BigtableDataSettings.Builder settings =
- BigtableDataSettings.newBuilder()
+ BigtableDataSettings.newBuilderForEmulator(serverRule.getServer().getPort())
.setProjectId(PROJECT_ID)
.setInstanceId(INSTANCE_ID)
.setCredentialsProvider(NoCredentialsProvider.create());
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 19ab6413a0c6..5d15dd521907 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 54a3af5cf5b3..0f9ad21fa0d1 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 ba0fda8b2ca9..f1308f3520af 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 e4b0a26515cd..bec3e0eef2f8 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 717bb9fd4486..902b49667a59 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-SNAPSHOT
+ 2.17.2-SNAPSHOT
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-SNAPSHOT
+ 2.17.2-SNAPSHOT
@@ -18,14 +18,14 @@
com.google.cloud
google-cloud-bigtable-deps-bom
- 2.17.1-SNAPSHOT
+ 2.17.2-SNAPSHOT
pom
import
com.google.cloud
google-cloud-bigtable-bom
- 2.17.1-SNAPSHOT
+ 2.17.2-SNAPSHOT
pom
import
diff --git a/grpc-google-cloud-bigtable-v2/pom.xml b/grpc-google-cloud-bigtable-v2/pom.xml
index 19bc2d8a8faf..c43c6fd1b093 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-SNAPSHOT
+ 2.17.2-SNAPSHOT
grpc-google-cloud-bigtable-v2
GRPC library for grpc-google-cloud-bigtable-v2
com.google.cloud
google-cloud-bigtable-parent
- 2.17.1-SNAPSHOT
+ 2.17.2-SNAPSHOT
@@ -18,14 +18,14 @@
com.google.cloud
google-cloud-bigtable-deps-bom
- 2.17.1-SNAPSHOT
+ 2.17.2-SNAPSHOT
pom
import
com.google.cloud
google-cloud-bigtable-bom
- 2.17.1-SNAPSHOT
+ 2.17.2-SNAPSHOT
pom
import
diff --git a/pom.xml b/pom.xml
index 6f0221a3d71c..f55075a2d7ad 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,7 +4,7 @@
google-cloud-bigtable-parent
pom
- 2.17.1-SNAPSHOT
+ 2.17.2-SNAPSHOT
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-SNAPSHOT
+ 2.17.2-SNAPSHOT
com.google.api.grpc
proto-google-cloud-bigtable-admin-v2
- 2.17.1-SNAPSHOT
+ 2.17.2-SNAPSHOT
com.google.api.grpc
grpc-google-cloud-bigtable-v2
- 2.17.1-SNAPSHOT
+ 2.17.2-SNAPSHOT
com.google.api.grpc
grpc-google-cloud-bigtable-admin-v2
- 2.17.1-SNAPSHOT
+ 2.17.2-SNAPSHOT
com.google.cloud
google-cloud-bigtable
- 2.17.1-SNAPSHOT
+ 2.17.2-SNAPSHOT
@@ -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 afc2a59e798d..10b4b2b61c88 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-SNAPSHOT
+ 2.17.2-SNAPSHOT
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-SNAPSHOT
+ 2.17.2-SNAPSHOT
@@ -18,14 +18,14 @@
com.google.cloud
google-cloud-bigtable-deps-bom
- 2.17.1-SNAPSHOT
+ 2.17.2-SNAPSHOT
pom
import
com.google.cloud
google-cloud-bigtable-bom
- 2.17.1-SNAPSHOT
+ 2.17.2-SNAPSHOT
pom
import
diff --git a/proto-google-cloud-bigtable-v2/pom.xml b/proto-google-cloud-bigtable-v2/pom.xml
index cf7f5a352ca8..c4b6833704a1 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-SNAPSHOT
+ 2.17.2-SNAPSHOT
proto-google-cloud-bigtable-v2
PROTO library for proto-google-cloud-bigtable-v2
com.google.cloud
google-cloud-bigtable-parent
- 2.17.1-SNAPSHOT
+ 2.17.2-SNAPSHOT
@@ -18,14 +18,14 @@
com.google.cloud
google-cloud-bigtable-deps-bom
- 2.17.1-SNAPSHOT
+ 2.17.2-SNAPSHOT
pom
import
com.google.cloud
google-cloud-bigtable-bom
- 2.17.1-SNAPSHOT
+ 2.17.2-SNAPSHOT
pom
import
diff --git a/samples/install-without-bom/pom.xml b/samples/install-without-bom/pom.xml
index 656b7cf8ed2e..fabaaf998c9c 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 1bf3a9e59593..18716b320559 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
diff --git a/samples/snapshot/pom.xml b/samples/snapshot/pom.xml
index d57cced05655..5cf2cc89d61e 100644
--- a/samples/snapshot/pom.xml
+++ b/samples/snapshot/pom.xml
@@ -28,7 +28,7 @@
com.google.cloud
google-cloud-bigtable
- 2.17.1-SNAPSHOT
+ 2.17.2-SNAPSHOT
diff --git a/samples/snippets/pom.xml b/samples/snippets/pom.xml
index 708371787727..6d31e3d7c987 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/README.md b/test-proxy/README.md
index a97f40094e3a..287c3a0f131c 100644
--- a/test-proxy/README.md
+++ b/test-proxy/README.md
@@ -2,7 +2,7 @@
The CBT test proxy is intended for running confromance tests for Cloug Bigtable Java Client.
-## Set up
+## Set up
If you have not already done so, [install golang](https://go.dev/doc/install), then clone the go test library:
@@ -12,7 +12,7 @@ git clone https://github.com/googleapis/cloud-bigtable-clients-test.git
## Start test proxy
-Build the proxy with the latest version of the client
+Build the proxy with the latest/head version of the client
```
cd java-bigtable
@@ -24,20 +24,13 @@ mvn clean install
Start the proxy on default port 9999
```
-mvn exec:java -Dexec.mainClass=com.google.cloud.bigtable.testproxy.CbtTestProxyMain
+java -jar target/google-cloud-bigtable-test-proxy-.jar
```
Start the proxy on a different port
```
-mvn exec:java -Dexec.mainClass=com.google.cloud.bigtable.testproxy.CbtTestProxyMain -Dport=1
-```
-
-Build and start the proxy with an older version of the client
-
-```
-mvn clean install -Dbigtable.client.version= -Denforcer.skip
-mvn exec:java -Dexec.mainClass=com.google.cloud.bigtable.testproxy.CbtTestProxyMain
+java -Dport=1 -jar target/google-cloud-bigtable-test-proxy-.jar
```
## Run the test cases
@@ -46,3 +39,12 @@ mvn exec:java -Dexec.mainClass=com.google.cloud.bigtable.testproxy.CbtTestProxyM
cd cloud-bigtable-clients-test/tests
go test -v -proxy_addr=:9999
```
+
+## Test a released client
+
+To do so, you need to build the proxy with the released version of the client.
+Please download the source code
+[here](https://github.com/googleapis/java-bigtable/releases), and repeat the
+above steps.
+
+Note that Kokoro presubmit test doesn't use this route.
diff --git a/test-proxy/pom.xml b/test-proxy/pom.xml
index 579270344287..31bd80de4a97 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-SNAPSHOT
+ 2.17.2-SNAPSHOT
- 2.17.1-SNAPSHOT
+ 2.17.2-SNAPSHOT
@@ -134,6 +134,38 @@
true
+
+ org.apache.maven.plugins
+ maven-shade-plugin
+
+
+ package
+
+ shade
+
+
+
+
+ *:*
+
+ META-INF/*.SF
+ META-INF/*.DSA
+ META-INF/*.RSA
+
+
+
+
+
+
+
+ com.google.cloud.bigtable.testproxy.CbtTestProxyMain
+
+
+
+
+
+
+
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 18e9be1e92b9..54d02a70183e 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 7666861b9381..7cce1fdcf09c 100644
--- a/versions.txt
+++ b/versions.txt
@@ -1,10 +1,10 @@
# Format:
# module:released-version:current-version
-google-cloud-bigtable:2.17.0:2.17.1-SNAPSHOT
-grpc-google-cloud-bigtable-admin-v2:2.17.0:2.17.1-SNAPSHOT
-grpc-google-cloud-bigtable-v2:2.17.0:2.17.1-SNAPSHOT
-proto-google-cloud-bigtable-admin-v2:2.17.0:2.17.1-SNAPSHOT
-proto-google-cloud-bigtable-v2:2.17.0:2.17.1-SNAPSHOT
-google-cloud-bigtable-emulator:0.154.0:0.154.1-SNAPSHOT
-google-cloud-bigtable-emulator-core:2.17.0:2.17.1-SNAPSHOT
+google-cloud-bigtable:2.17.1:2.17.2-SNAPSHOT
+grpc-google-cloud-bigtable-admin-v2:2.17.1:2.17.2-SNAPSHOT
+grpc-google-cloud-bigtable-v2:2.17.1:2.17.2-SNAPSHOT
+proto-google-cloud-bigtable-admin-v2:2.17.1:2.17.2-SNAPSHOT
+proto-google-cloud-bigtable-v2:2.17.1:2.17.2-SNAPSHOT
+google-cloud-bigtable-emulator:0.154.1:0.154.2-SNAPSHOT
+google-cloud-bigtable-emulator-core:2.17.1:2.17.2-SNAPSHOT