diff --git a/google-cloud-bigtable/pom.xml b/google-cloud-bigtable/pom.xml
index bd4c6f0b63ee..102de757844c 100644
--- a/google-cloud-bigtable/pom.xml
+++ b/google-cloud-bigtable/pom.xml
@@ -45,8 +45,8 @@
batch-bigtable.googleapis.com:443
- 1.65.0
- 3.25.5
+ 1.76.3
+ 4.33.2
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 b8a514433f00..4329e98f63f0 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
@@ -450,7 +450,6 @@ public boolean isRefreshingChannel() {
*/
@Deprecated
public Builder setPrimingTableIds(String... tableIds) {
- stubSettings.setPrimedTableIds(tableIds);
return this;
}
diff --git a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/BigtableClientContext.java b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/BigtableClientContext.java
index 97f4aad4954c..d71355d6cd9f 100644
--- a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/BigtableClientContext.java
+++ b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/BigtableClientContext.java
@@ -128,10 +128,7 @@ public static BigtableClientContext create(EnhancedBigtableStubSettings settings
}
if (transportProvider != null) {
- // Set up cookie holder if routing cookie is enabled
- if (builder.getEnableRoutingCookie()) {
- setupCookieHolder(transportProvider);
- }
+ setupCookieHolder(transportProvider);
ChannelPrimer channelPrimer = NoOpChannelPrimer.create();
diff --git a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/EnhancedBigtableStub.java b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/EnhancedBigtableStub.java
index 18361f1568b4..b3cc8d36551e 100644
--- a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/EnhancedBigtableStub.java
+++ b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/EnhancedBigtableStub.java
@@ -121,7 +121,6 @@
import com.google.cloud.bigtable.data.v2.stub.sql.MetadataErrorHandlingCallable;
import com.google.cloud.bigtable.data.v2.stub.sql.PlanRefreshingCallable;
import com.google.cloud.bigtable.data.v2.stub.sql.SqlRowMergingCallable;
-import com.google.cloud.bigtable.gaxx.retrying.ApiResultRetryAlgorithm;
import com.google.cloud.bigtable.gaxx.retrying.RetryInfoRetryAlgorithm;
import com.google.common.annotations.VisibleForTesting;
import com.google.common.base.Functions;
@@ -785,12 +784,9 @@ private UnaryCallable createMutateRowsBas
ServerStreamingCallable withAttemptTracer =
new BigtableTracerStreamingCallable<>(convertException);
- BasicResultRetryAlgorithm resultRetryAlgorithm;
- if (settings.getEnableRetryInfo()) {
- resultRetryAlgorithm = new RetryInfoRetryAlgorithm<>();
- } else {
- resultRetryAlgorithm = new ApiResultRetryAlgorithm<>();
- }
+ BasicResultRetryAlgorithm resultRetryAlgorithm =
+ new RetryInfoRetryAlgorithm<>();
+
MutateRowsPartialErrorRetryAlgorithm mutateRowsPartialErrorRetryAlgorithm =
new MutateRowsPartialErrorRetryAlgorithm(resultRetryAlgorithm);
@@ -810,11 +806,8 @@ private UnaryCallable createMutateRowsBas
settings.bulkMutateRowsSettings().getRetryableCodes(),
retryAlgorithm);
- UnaryCallable withCookie = baseCallable;
-
- if (settings.getEnableRoutingCookie()) {
- withCookie = new CookiesUnaryCallable<>(baseCallable);
- }
+ UnaryCallable withCookie =
+ new CookiesUnaryCallable<>(baseCallable);
UnaryCallable flowControlCallable = null;
if (settings.bulkMutateRowsSettings().isLatencyBasedThrottlingEnabled()) {
@@ -1319,56 +1312,31 @@ ServerStreamingCallSettings convertUnaryToServerStreamingSettings(
private UnaryCallable withRetries(
UnaryCallable innerCallable, UnaryCallSettings, ?> unaryCallSettings) {
- UnaryCallable retrying;
- if (settings.getEnableRetryInfo()) {
- retrying =
- com.google.cloud.bigtable.gaxx.retrying.Callables.retrying(
- innerCallable, unaryCallSettings, bigtableClientContext.getClientContext());
- } else {
- retrying =
- Callables.retrying(
- innerCallable, unaryCallSettings, bigtableClientContext.getClientContext());
- }
- if (settings.getEnableRoutingCookie()) {
- return new CookiesUnaryCallable<>(retrying);
- }
- return retrying;
+ UnaryCallable retrying =
+ com.google.cloud.bigtable.gaxx.retrying.Callables.retrying(
+ innerCallable, unaryCallSettings, bigtableClientContext.getClientContext());
+ return new CookiesUnaryCallable<>(retrying);
}
private ServerStreamingCallable withRetries(
ServerStreamingCallable innerCallable,
ServerStreamingCallSettings serverStreamingCallSettings) {
- ServerStreamingCallable retrying;
- if (settings.getEnableRetryInfo()) {
- retrying =
- com.google.cloud.bigtable.gaxx.retrying.Callables.retrying(
- innerCallable, serverStreamingCallSettings, bigtableClientContext.getClientContext());
- } else {
- retrying =
- Callables.retrying(
- innerCallable, serverStreamingCallSettings, bigtableClientContext.getClientContext());
- }
- if (settings.getEnableRoutingCookie()) {
- return new CookiesServerStreamingCallable<>(retrying);
- }
- return retrying;
+ ServerStreamingCallable retrying =
+ com.google.cloud.bigtable.gaxx.retrying.Callables.retrying(
+ innerCallable, serverStreamingCallSettings, bigtableClientContext.getClientContext());
+
+ return new CookiesServerStreamingCallable<>(retrying);
}
private ServerStreamingCallable largeRowWithRetries(
ServerStreamingCallable innerCallable,
ServerStreamingCallSettings serverStreamingCallSettings) {
- // Retrying algorithm in retryingForLargeRows also takes RetryInfo into consideration, so we
- // skip the check for settings.getEnableRetryInfo here
- ServerStreamingCallable retrying;
- retrying =
+ ServerStreamingCallable retrying =
com.google.cloud.bigtable.gaxx.retrying.Callables.retryingForLargeRows(
innerCallable, serverStreamingCallSettings, bigtableClientContext.getClientContext());
- if (settings.getEnableRoutingCookie()) {
- return new CookiesServerStreamingCallable<>(retrying);
- }
- return retrying;
+ return new CookiesServerStreamingCallable<>(retrying);
}
//
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 f0c959cc67bf..003823f5fc19 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
@@ -65,7 +65,6 @@
import java.util.List;
import java.util.Map;
import java.util.Set;
-import java.util.logging.Logger;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import org.threeten.bp.Duration;
@@ -99,9 +98,6 @@
* }
*/
public class EnhancedBigtableStubSettings extends StubSettings {
- private static final Logger logger =
- Logger.getLogger(EnhancedBigtableStubSettings.class.getName());
-
// The largest message that can be received is a 256 MB ReadRowsResponse.
private static final int MAX_MESSAGE_SIZE = 256 * 1024 * 1024;
private static final String SERVER_DEFAULT_APP_PROFILE_ID = "";
@@ -145,7 +141,6 @@ public class EnhancedBigtableStubSettings extends StubSettings primedTableIds;
- private final boolean enableRoutingCookie;
- private final boolean enableRetryInfo;
private final ServerStreamingCallSettings readRowsSettings;
private final UnaryCallSettings readRowSettings;
@@ -279,7 +269,7 @@ public class EnhancedBigtableStubSettings extends StubSettings getPrimedTableIds() {
- return primedTableIds;
+ return ImmutableList.of();
}
/**
@@ -384,21 +371,19 @@ public MetricsProvider getMetricsProvider() {
}
/**
- * Gets if routing cookie is enabled. If true, client will retry a request with extra metadata
- * server sent back.
+ * @deprecated routing cookies are always on.
*/
- @BetaApi("Routing cookie is not currently stable and may change in the future")
+ @Deprecated
public boolean getEnableRoutingCookie() {
- return enableRoutingCookie;
+ return true;
}
/**
- * Gets if RetryInfo is enabled. If true, client bases retry decision and back off time on server
- * returned RetryInfo value. Otherwise, client uses {@link RetrySettings}.
+ * @deprecated RetryInfo is now always on.
*/
- @BetaApi("RetryInfo is not currently stable and may change in the future")
+ @Deprecated
public boolean getEnableRetryInfo() {
- return enableRetryInfo;
+ return true;
}
/**
@@ -745,10 +730,7 @@ public static class Builder extends StubSettings.Builder primedTableIds;
private String jwtAudience;
- private boolean enableRoutingCookie;
- private boolean enableRetryInfo;
private final ServerStreamingCallSettings.Builder readRowsSettings;
private final UnaryCallSettings.Builder readRowSettings;
@@ -768,7 +750,7 @@ public static class Builder extends StubSettings.Builder
prepareQuerySettings;
- private FeatureFlags.Builder featureFlags;
+ private final FeatureFlags.Builder featureFlags;
private MetricsProvider metricsProvider;
@Nullable private String metricsEndpoint;
@@ -785,10 +767,7 @@ public static class Builder extends StubSettings.Builder getPrimedTableIds() {
- return primedTableIds;
+ return ImmutableList.of();
}
/**
@@ -1159,41 +1134,35 @@ String getJwtAudience() {
}
/**
- * Sets if routing cookie is enabled. If true, client will retry a request with extra metadata
- * server sent back.
+ * @deprecated this now a no-op as routing cookies are always on.
*/
- @BetaApi("Routing cookie is not currently stable and may change in the future")
+ @Deprecated
public Builder setEnableRoutingCookie(boolean enableRoutingCookie) {
- this.enableRoutingCookie = enableRoutingCookie;
return this;
}
/**
- * Gets if routing cookie is enabled. If true, client will retry a request with extra metadata
- * server sent back.
+ * @deprecated routing cookies are always on.
*/
- @BetaApi("Routing cookie is not currently stable and may change in the future")
+ @Deprecated
public boolean getEnableRoutingCookie() {
- return enableRoutingCookie;
+ return true;
}
/**
- * Sets if RetryInfo is enabled. If true, client bases retry decision and back off time on
- * server returned RetryInfo value. Otherwise, client uses {@link RetrySettings}.
+ * @deprecated This is a no-op, RetryInfo is always used now.
*/
- @BetaApi("RetryInfo is not currently stable and may change in the future")
+ @Deprecated
public Builder setEnableRetryInfo(boolean enableRetryInfo) {
- this.enableRetryInfo = enableRetryInfo;
return this;
}
/**
- * Gets if RetryInfo is enabled. If true, client bases retry decision and back off time on
- * server returned RetryInfo value. Otherwise, client uses {@link RetrySettings}.
+ * @deprecated RetryInfo is always on.
*/
- @BetaApi("RetryInfo is not currently stable and may change in the future")
+ @Deprecated
public boolean getEnableRetryInfo() {
- return enableRetryInfo;
+ return true;
}
/** Returns the builder for the settings used for calls to readRows. */
@@ -1283,8 +1252,8 @@ public EnhancedBigtableStubSettings build() {
featureFlags.setMutateRowsRateLimit2(true);
}
- featureFlags.setRoutingCookie(this.getEnableRoutingCookie());
- featureFlags.setRetryInfo(this.getEnableRetryInfo());
+ featureFlags.setRoutingCookie(true);
+ featureFlags.setRetryInfo(true);
// client_Side_metrics_enabled feature flag is only set when a user is running with a
// DefaultMetricsProvider. This may cause false negatives when a user registered the
// metrics on their CustomOpenTelemetryMetricsProvider.
@@ -1325,9 +1294,6 @@ public String toString() {
.add("instanceId", instanceId)
.add("appProfileId", appProfileId)
.add("isRefreshingChannel", isRefreshingChannel)
- .add("primedTableIds", primedTableIds)
- .add("enableRoutingCookie", enableRoutingCookie)
- .add("enableRetryInfo", enableRetryInfo)
.add("readRowsSettings", readRowsSettings)
.add("readRowSettings", readRowSettings)
.add("sampleRowKeysSettings", sampleRowKeysSettings)
diff --git a/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/stub/CookiesHolderTest.java b/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/stub/CookiesHolderTest.java
index bf02ce447ae4..648cff4809da 100644
--- a/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/stub/CookiesHolderTest.java
+++ b/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/stub/CookiesHolderTest.java
@@ -69,7 +69,6 @@
import io.grpc.Status;
import io.grpc.StatusRuntimeException;
import io.grpc.stub.StreamObserver;
-import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
@@ -673,58 +672,6 @@ public void testCookieSetWithBigtableClientFactory() throws Exception {
}
}
- @Test
- public void testDisableRoutingCookie() throws IOException {
- // This test disables routing cookie in the client settings and ensures that none of the routing
- // cookie
- // is added.
- settings.stubSettings().setEnableRoutingCookie(false);
- try (BigtableDataClient client = BigtableDataClient.create(settings.build())) {
- @SuppressWarnings("MismatchedQueryAndUpdateOfCollection")
- ArrayList ignored = Lists.newArrayList(client.readRows(Query.create("fake-table")));
- assertThat(fakeService.count.get()).isEqualTo(2);
- fakeService.count.set(0);
-
- client.mutateRow(RowMutation.create("fake-table", "key").setCell("cf", "q", "v"));
- assertThat(fakeService.count.get()).isEqualTo(2);
- fakeService.count.set(0);
-
- client.bulkMutateRows(
- BulkMutation.create("fake-table")
- .add(RowMutationEntry.create("key").setCell("cf", "q", "v")));
- assertThat(fakeService.count.get()).isEqualTo(2);
- fakeService.count.set(0);
-
- client.sampleRowKeys("fake-table");
- assertThat(fakeService.count.get()).isEqualTo(2);
- fakeService.count.set(0);
-
- client.checkAndMutateRow(
- ConditionalRowMutation.create("fake-table", "key")
- .then(Mutation.create().setCell("cf", "q", "v")));
- assertThat(fakeService.count.get()).isEqualTo(2);
- fakeService.count.set(0);
-
- client.readModifyWriteRow(
- ReadModifyWriteRow.create("fake-table", "key").append("cf", "q", "v"));
- assertThat(fakeService.count.get()).isEqualTo(2);
- fakeService.count.set(0);
-
- @SuppressWarnings("MismatchedQueryAndUpdateOfCollection")
- ArrayList ignored2 =
- Lists.newArrayList(client.generateInitialChangeStreamPartitions("fake-table"));
- assertThat(fakeService.count.get()).isEqualTo(2);
- fakeService.count.set(0);
-
- for (ChangeStreamRecord record :
- client.readChangeStream(ReadChangeStreamQuery.create("fake-table"))) {}
-
- assertThat(fakeService.count.get()).isEqualTo(2);
-
- assertThat(methods).isEmpty();
- }
- }
-
static class FakeService extends BigtableGrpc.BigtableImplBase {
private volatile boolean returnCookie = true;
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 aecad0cc123a..9de631918237 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
@@ -94,8 +94,6 @@ public void settingsAreNotLostTest() {
.setCredentialsProvider(credentialsProvider)
.setStreamWatchdogProvider(watchdogProvider)
.setStreamWatchdogCheckInterval(watchdogInterval)
- .setEnableRoutingCookie(enableRoutingCookie)
- .setEnableRetryInfo(enableRetryInfo)
.setMetricsEndpoint(metricsEndpoint);
verifyBuilder(
@@ -160,8 +158,6 @@ private void verifyBuilder(
assertThat(builder.getCredentialsProvider()).isEqualTo(credentialsProvider);
assertThat(builder.getStreamWatchdogProvider()).isSameInstanceAs(watchdogProvider);
assertThat(builder.getStreamWatchdogCheckInterval()).isEqualTo(watchdogInterval);
- assertThat(builder.getEnableRoutingCookie()).isEqualTo(enableRoutingCookie);
- assertThat(builder.getEnableRetryInfo()).isEqualTo(enableRetryInfo);
assertThat(builder.getMetricsEndpoint()).isEqualTo(metricsEndpoint);
}
@@ -186,8 +182,6 @@ private void verifySettings(
assertThat(settings.getCredentialsProvider()).isEqualTo(credentialsProvider);
assertThat(settings.getStreamWatchdogProvider()).isSameInstanceAs(watchdogProvider);
assertThat(settings.getStreamWatchdogCheckInterval()).isEqualTo(watchdogInterval);
- assertThat(settings.getEnableRoutingCookie()).isEqualTo(enableRoutingCookie);
- assertThat(settings.getEnableRetryInfo()).isEqualTo(enableRetryInfo);
assertThat(settings.getMetricsEndpoint()).isEqualTo(metricsEndpoint);
}
@@ -920,81 +914,11 @@ public void isRefreshingChannelFalseValueTest() {
assertThat(builder.build().toBuilder().isRefreshingChannel()).isFalse();
}
- @Test
- public void routingCookieIsEnabled() throws IOException {
- String dummyProjectId = "my-project";
- String dummyInstanceId = "my-instance";
- CredentialsProvider credentialsProvider = Mockito.mock(CredentialsProvider.class);
- Mockito.when(credentialsProvider.getCredentials()).thenReturn(new FakeCredentials());
- EnhancedBigtableStubSettings.Builder builder =
- EnhancedBigtableStubSettings.newBuilder()
- .setProjectId(dummyProjectId)
- .setInstanceId(dummyInstanceId)
- .setCredentialsProvider(credentialsProvider);
-
- assertThat(builder.getEnableRoutingCookie()).isTrue();
- assertThat(builder.build().getEnableRoutingCookie()).isTrue();
- assertThat(builder.build().toBuilder().getEnableRoutingCookie()).isTrue();
- }
-
- @Test
- public void enableRetryInfoDefaultValueTest() throws IOException {
- String dummyProjectId = "my-project";
- String dummyInstanceId = "my-instance";
- CredentialsProvider credentialsProvider = Mockito.mock(CredentialsProvider.class);
- Mockito.when(credentialsProvider.getCredentials()).thenReturn(new FakeCredentials());
- EnhancedBigtableStubSettings.Builder builder =
- EnhancedBigtableStubSettings.newBuilder()
- .setProjectId(dummyProjectId)
- .setInstanceId(dummyInstanceId)
- .setCredentialsProvider(credentialsProvider);
- assertThat(builder.getEnableRetryInfo()).isTrue();
- assertThat(builder.build().getEnableRetryInfo()).isTrue();
- assertThat(builder.build().toBuilder().getEnableRetryInfo()).isTrue();
- }
-
- @Test
- public void routingCookieFalseValueSet() throws IOException {
- String dummyProjectId = "my-project";
- String dummyInstanceId = "my-instance";
- CredentialsProvider credentialsProvider = Mockito.mock(CredentialsProvider.class);
- Mockito.when(credentialsProvider.getCredentials()).thenReturn(new FakeCredentials());
- EnhancedBigtableStubSettings.Builder builder =
- EnhancedBigtableStubSettings.newBuilder()
- .setProjectId(dummyProjectId)
- .setInstanceId(dummyInstanceId)
- .setEnableRoutingCookie(false)
- .setCredentialsProvider(credentialsProvider);
- assertThat(builder.getEnableRoutingCookie()).isFalse();
- assertThat(builder.build().getEnableRoutingCookie()).isFalse();
- assertThat(builder.build().toBuilder().getEnableRoutingCookie()).isFalse();
- }
-
- @Test
- public void enableRetryInfoFalseValueTest() throws IOException {
- String dummyProjectId = "my-project";
- String dummyInstanceId = "my-instance";
- CredentialsProvider credentialsProvider = Mockito.mock(CredentialsProvider.class);
- Mockito.when(credentialsProvider.getCredentials()).thenReturn(new FakeCredentials());
- EnhancedBigtableStubSettings.Builder builder =
- EnhancedBigtableStubSettings.newBuilder()
- .setProjectId(dummyProjectId)
- .setInstanceId(dummyInstanceId)
- .setEnableRetryInfo(false)
- .setCredentialsProvider(credentialsProvider);
- assertThat(builder.getEnableRetryInfo()).isFalse();
- assertThat(builder.build().getEnableRetryInfo()).isFalse();
- assertThat(builder.build().toBuilder().getEnableRetryInfo()).isFalse();
- }
-
static final String[] SETTINGS_LIST = {
"projectId",
"instanceId",
"appProfileId",
"isRefreshingChannel",
- "primedTableIds",
- "enableRoutingCookie",
- "enableRetryInfo",
"readRowsSettings",
"readRowSettings",
"sampleRowKeysSettings",
@@ -1025,17 +949,12 @@ public void testToString() {
.build();
checkToString(defaultSettings);
- assertThat(defaultSettings.toString()).contains("primedTableIds=[]");
EnhancedBigtableStubSettings settings =
- defaultSettings.toBuilder()
- .setPrimedTableIds("2", "12", "85", "06")
- .setEndpoint("example.com:1234")
- .build();
+ defaultSettings.toBuilder().setEndpoint("example.com:1234").build();
checkToString(settings);
assertThat(settings.toString()).contains("endpoint=example.com:1234");
- assertThat(settings.toString()).contains("primedTableIds=[2, 12, 85, 06]");
int nonStaticFields = 0;
for (Field field : EnhancedBigtableStubSettings.class.getDeclaredFields()) {
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 fbafe50f47d8..1531506a11ad 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
@@ -698,10 +698,7 @@ public void testBulkMutationFlowControllerConfigured() throws Exception {
public void testCallContextPropagatedInMutationBatcher()
throws IOException, InterruptedException, ExecutionException {
EnhancedBigtableStubSettings settings =
- defaultSettings.toBuilder()
- .setRefreshingChannel(true)
- .setPrimedTableIds("table1", "table2")
- .build();
+ defaultSettings.toBuilder().setRefreshingChannel(true).build();
try (EnhancedBigtableStub stub = EnhancedBigtableStub.create(settings)) {
// clear the previous contexts
@@ -728,10 +725,7 @@ public void testCallContextPropagatedInMutationBatcher()
public void testCallContextPropagatedInReadBatcher()
throws IOException, InterruptedException, ExecutionException {
EnhancedBigtableStubSettings settings =
- defaultSettings.toBuilder()
- .setRefreshingChannel(true)
- .setPrimedTableIds("table1", "table2")
- .build();
+ defaultSettings.toBuilder().setRefreshingChannel(true).build();
try (EnhancedBigtableStub stub = EnhancedBigtableStub.create(settings)) {
// clear the previous contexts
diff --git a/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/stub/RetryInfoTest.java b/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/stub/RetryInfoTest.java
index ea4b46a71374..c206eb20a6dc 100644
--- a/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/stub/RetryInfoTest.java
+++ b/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/stub/RetryInfoTest.java
@@ -243,29 +243,11 @@ public void testReadRowNonRetryableErrorWithRetryInfo() {
verifyRetryInfoIsUsed(() -> client.readRow("table", "row"), false);
}
- @Test
- public void testReadRowDisableRetryInfo() throws IOException {
- settings.stubSettings().setEnableRetryInfo(false);
-
- try (BigtableDataClient newClient = BigtableDataClient.create(settings.build())) {
- verifyRetryInfoCanBeDisabled(() -> newClient.readRow("table", "row"));
- }
- }
-
@Test
public void testReadRowServerNotReturningRetryInfo() {
verifyNoRetryInfo(() -> client.readRow("table", "row"), true);
}
- @Test
- public void testReadRowServerNotReturningRetryInfoClientDisabledHandling() throws IOException {
- settings.stubSettings().setEnableRetryInfo(false);
-
- try (BigtableDataClient newClient = BigtableDataClient.create(settings.build())) {
- verifyNoRetryInfo(() -> newClient.readRow("table", "row"), true);
- }
- }
-
@Test
public void testReadRowsNonRetraybleErrorWithRetryInfo() {
verifyRetryInfoIsUsed(
@@ -276,19 +258,6 @@ public void testReadRowsNonRetraybleErrorWithRetryInfo() {
false);
}
- @Test
- public void testReadRowsDisableRetryInfo() throws IOException {
- settings.stubSettings().setEnableRetryInfo(false);
-
- try (BigtableDataClient newClient = BigtableDataClient.create(settings.build())) {
- verifyRetryInfoCanBeDisabled(
- () -> {
- @SuppressWarnings("MismatchedQueryAndUpdateOfCollection")
- ArrayList ignored = Lists.newArrayList(newClient.readRows(Query.create("table")));
- });
- }
- }
-
@Test
public void testReadRowsServerNotReturningRetryInfo() {
verifyNoRetryInfo(
@@ -299,20 +268,6 @@ public void testReadRowsServerNotReturningRetryInfo() {
true);
}
- @Test
- public void testReadRowsServerNotReturningRetryInfoClientDisabledHandling() throws IOException {
- settings.stubSettings().setEnableRetryInfo(false);
-
- try (BigtableDataClient newClient = BigtableDataClient.create(settings.build())) {
- verifyNoRetryInfo(
- () -> {
- @SuppressWarnings("MismatchedQueryAndUpdateOfCollection")
- ArrayList ignored = Lists.newArrayList(newClient.readRows(Query.create("table")));
- },
- true);
- }
- }
-
@Test
public void testMutateRowsNonRetryableErrorWithRetryInfo() {
verifyRetryInfoIsUsed(
@@ -323,19 +278,6 @@ public void testMutateRowsNonRetryableErrorWithRetryInfo() {
false);
}
- @Test
- public void testMutateRowsDisableRetryInfo() throws IOException {
- settings.stubSettings().setEnableRetryInfo(false);
-
- try (BigtableDataClient newClient = BigtableDataClient.create(settings.build())) {
- verifyRetryInfoCanBeDisabled(
- () ->
- newClient.bulkMutateRows(
- BulkMutation.create("fake-table")
- .add(RowMutationEntry.create("row-key-1").setCell("cf", "q", "v"))));
- }
- }
-
@Test
public void testMutateRowsServerNotReturningRetryInfo() {
verifyNoRetryInfo(
@@ -346,101 +288,28 @@ public void testMutateRowsServerNotReturningRetryInfo() {
true);
}
- @Test
- public void testMutateRowsServerNotReturningRetryInfoClientDisabledHandling() throws IOException {
- settings.stubSettings().setEnableRetryInfo(false);
-
- try (BigtableDataClient newClient = BigtableDataClient.create(settings.build())) {
- verifyNoRetryInfo(
- () ->
- newClient.bulkMutateRows(
- BulkMutation.create("fake-table")
- .add(RowMutationEntry.create("row-key-1").setCell("cf", "q", "v"))),
- true);
- }
- }
-
@Test
public void testMutateRowNonRetryableErrorWithRetryInfo() {
verifyRetryInfoIsUsed(
() -> client.mutateRow(RowMutation.create("table", "key").setCell("cf", "q", "v")), false);
}
- @Test
- public void testMutateRowDisableRetryInfo() throws IOException {
- settings.stubSettings().setEnableRetryInfo(false);
-
- try (BigtableDataClient newClient = BigtableDataClient.create(settings.build())) {
-
- verifyRetryInfoCanBeDisabled(
- () -> newClient.mutateRow(RowMutation.create("table", "key").setCell("cf", "q", "v")));
- }
- }
-
@Test
public void testMutateRowServerNotReturningRetryInfo() {
verifyNoRetryInfo(
() -> client.mutateRow(RowMutation.create("table", "key").setCell("cf", "q", "v")), true);
}
- @Test
- public void testMutateRowServerNotReturningRetryInfoClientDisabledHandling() throws IOException {
- settings.stubSettings().setEnableRetryInfo(false);
-
- try (BigtableDataClient newClient = BigtableDataClient.create(settings.build())) {
- verifyNoRetryInfo(
- () -> newClient.mutateRow(RowMutation.create("table", "key").setCell("cf", "q", "v")),
- true);
- }
- }
-
@Test
public void testSampleRowKeysNonRetryableErrorWithRetryInfo() {
verifyRetryInfoIsUsed(() -> client.sampleRowKeys("table"), false);
}
- @Test
- public void testSampleRowKeysDisableRetryInfo() throws IOException {
- settings.stubSettings().setEnableRetryInfo(false);
-
- try (BigtableDataClient newClient = BigtableDataClient.create(settings.build())) {
- verifyRetryInfoCanBeDisabled(() -> newClient.sampleRowKeys("table"));
- }
- }
-
@Test
public void testSampleRowKeysServerNotReturningRetryInfo() {
verifyNoRetryInfo(() -> client.sampleRowKeys("table"), true);
}
- @Test
- public void testSampleRowKeysServerNotReturningRetryInfoClientDisabledHandling()
- throws IOException {
- settings.stubSettings().setEnableRetryInfo(false);
-
- try (BigtableDataClient newClient = BigtableDataClient.create(settings.build())) {
- verifyNoRetryInfo(() -> newClient.sampleRowKeys("table"), true);
- }
- }
-
- @Test
- public void testCheckAndMutateDisableRetryInfo() throws IOException {
- settings.stubSettings().setEnableRetryInfo(false);
-
- try (BigtableDataClient client = BigtableDataClient.create(settings.build())) {
- ApiException exception = enqueueNonRetryableExceptionWithDelay(defaultDelay);
- try {
- client.checkAndMutateRow(
- ConditionalRowMutation.create("table", "key")
- .condition(Filters.FILTERS.value().regex("old-value"))
- .then(Mutation.create().setCell("cf", "q", "v")));
- } catch (ApiException e) {
- assertThat(e.getStatusCode()).isEqualTo(exception.getStatusCode());
- }
- assertThat(attemptCounter.get()).isEqualTo(1);
- }
- }
-
@Test
public void testCheckAndMutateServerNotReturningRetryInfo() {
verifyNoRetryInfo(
@@ -452,37 +321,6 @@ public void testCheckAndMutateServerNotReturningRetryInfo() {
false);
}
- @Test
- public void testCheckAndMutateServerNotReturningRetryInfoClientDisabledHandling()
- throws IOException {
- settings.stubSettings().setEnableRetryInfo(false);
-
- try (BigtableDataClient newClient = BigtableDataClient.create(settings.build())) {
- verifyNoRetryInfo(
- () ->
- newClient.checkAndMutateRow(
- ConditionalRowMutation.create("table", "key")
- .condition(Filters.FILTERS.value().regex("old-value"))
- .then(Mutation.create().setCell("cf", "q", "v"))),
- false);
- }
- }
-
- @Test
- public void testReadModifyWriteDisableRetryInfo() throws IOException {
- settings.stubSettings().setEnableRetryInfo(false);
-
- try (BigtableDataClient client = BigtableDataClient.create(settings.build())) {
- ApiException exception = enqueueNonRetryableExceptionWithDelay(defaultDelay);
- try {
- client.readModifyWriteRow(ReadModifyWriteRow.create("table", "row").append("cf", "q", "v"));
- } catch (ApiException e) {
- assertThat(e.getStatusCode()).isEqualTo(exception.getStatusCode());
- }
- assertThat(attemptCounter.get()).isEqualTo(1);
- }
- }
-
@Test
public void testReadModifyWriteServerNotReturningRetryInfo() {
verifyNoRetryInfo(
@@ -492,19 +330,6 @@ public void testReadModifyWriteServerNotReturningRetryInfo() {
false);
}
- @Test
- public void testReadModifyWriteNotReturningRetryInfoClientDisabledHandling() throws IOException {
- settings.stubSettings().setEnableRetryInfo(false);
-
- try (BigtableDataClient newClient = BigtableDataClient.create(settings.build())) {
- verifyNoRetryInfo(
- () ->
- newClient.readModifyWriteRow(
- ReadModifyWriteRow.create("table", "row").append("cf", "q", "v")),
- false);
- }
- }
-
@Test
public void testReadChangeStreamNonRetryableErrorWithRetryInfo() {
verifyRetryInfoIsUsed(
@@ -516,21 +341,6 @@ public void testReadChangeStreamNonRetryableErrorWithRetryInfo() {
false);
}
- @Test
- public void testReadChangeStreamDisableRetryInfo() throws IOException {
- settings.stubSettings().setEnableRetryInfo(false);
-
- try (BigtableDataClient newClient = BigtableDataClient.create(settings.build())) {
- verifyRetryInfoCanBeDisabled(
- () -> {
- @SuppressWarnings("MismatchedQueryAndUpdateOfCollection")
- ArrayList ignored =
- Lists.newArrayList(
- newClient.readChangeStream(ReadChangeStreamQuery.create("table")));
- });
- }
- }
-
@Test
public void testReadChangeStreamServerNotReturningRetryInfo() {
verifyNoRetryInfo(
@@ -542,23 +352,6 @@ public void testReadChangeStreamServerNotReturningRetryInfo() {
true);
}
- @Test
- public void testReadChangeStreamNotReturningRetryInfoClientDisabledHandling() throws IOException {
- settings.stubSettings().setEnableRetryInfo(false);
-
- try (BigtableDataClient newClient = BigtableDataClient.create(settings.build())) {
- verifyNoRetryInfo(
- () -> {
- @SuppressWarnings("MismatchedQueryAndUpdateOfCollection")
- ArrayList ignored =
- Lists.newArrayList(
- newClient.readChangeStream(ReadChangeStreamQuery.create("table")));
- },
- true,
- com.google.protobuf.Duration.newBuilder().setSeconds(5).setNanos(0).build());
- }
- }
-
@Test
public void testGenerateInitialChangeStreamPartitionNonRetryableError() {
verifyRetryInfoIsUsed(
@@ -570,20 +363,6 @@ public void testGenerateInitialChangeStreamPartitionNonRetryableError() {
false);
}
- @Test
- public void testGenerateInitialChangeStreamPartitionDisableRetryInfo() throws IOException {
- settings.stubSettings().setEnableRetryInfo(false);
-
- try (BigtableDataClient newClient = BigtableDataClient.create(settings.build())) {
- verifyRetryInfoCanBeDisabled(
- () -> {
- @SuppressWarnings("MismatchedQueryAndUpdateOfCollection")
- ArrayList ignored =
- Lists.newArrayList(newClient.generateInitialChangeStreamPartitions("table"));
- });
- }
- }
-
@Test
public void testGenerateInitialChangeStreamServerNotReturningRetryInfo() {
verifyNoRetryInfo(
@@ -595,55 +374,17 @@ public void testGenerateInitialChangeStreamServerNotReturningRetryInfo() {
true);
}
- @Test
- public void testGenerateInitialChangeStreamServerNotReturningRetryInfoClientDisabledHandling()
- throws IOException {
- settings.stubSettings().setEnableRetryInfo(false);
-
- try (BigtableDataClient newClient = BigtableDataClient.create(settings.build())) {
- verifyNoRetryInfo(
- () -> {
- @SuppressWarnings("MismatchedQueryAndUpdateOfCollection")
- ArrayList ignored =
- Lists.newArrayList(newClient.generateInitialChangeStreamPartitions("table"));
- },
- true);
- }
- }
-
@Test
public void testPrepareQueryNonRetryableErrorWithRetryInfo() {
verifyRetryInfoIsUsed(
() -> client.prepareStatement("SELECT * FROM table", new HashMap<>()), false);
}
- @Test
- public void testPrepareQueryDisableRetryInfo() throws IOException {
- settings.stubSettings().setEnableRetryInfo(false);
-
- try (BigtableDataClient newClient = BigtableDataClient.create(settings.build())) {
-
- verifyRetryInfoCanBeDisabled(
- () -> newClient.prepareStatement("SELECT * FROM table", new HashMap<>()));
- }
- }
-
@Test
public void testPrepareQueryServerNotReturningRetryInfo() {
verifyNoRetryInfo(() -> client.prepareStatement("SELECT * FROM table", new HashMap<>()), true);
}
- @Test
- public void testPrepareQueryServerNotReturningRetryInfoClientDisabledHandling()
- throws IOException {
- settings.stubSettings().setEnableRetryInfo(false);
-
- try (BigtableDataClient newClient = BigtableDataClient.create(settings.build())) {
- verifyNoRetryInfo(
- () -> newClient.prepareStatement("SELECT * FROM table", new HashMap<>()), true);
- }
- }
-
// Test the case where server returns retry info and client enables handling of retry info
private void verifyRetryInfoIsUsed(Runnable runnable, boolean retryableError) {
if (retryableError) {