From 1452a14d5d6909f71aa4461b8978ea9440ee936e Mon Sep 17 00:00:00 2001 From: wu-hui Date: Mon, 2 Feb 2026 10:43:37 -0500 Subject: [PATCH] fix: Set max retry at 5 for executePipeline --- .../cloud/firestore/spi/v1/GrpcFirestoreRpc.java | 2 ++ .../firestore/spi/v1/GrpcFirestoreRpcTest.java | 14 ++++++++++++++ 2 files changed, 16 insertions(+) diff --git a/google-cloud-firestore/src/main/java/com/google/cloud/firestore/spi/v1/GrpcFirestoreRpc.java b/google-cloud-firestore/src/main/java/com/google/cloud/firestore/spi/v1/GrpcFirestoreRpc.java index 64c0f6901d..7224a3014b 100644 --- a/google-cloud-firestore/src/main/java/com/google/cloud/firestore/spi/v1/GrpcFirestoreRpc.java +++ b/google-cloud-firestore/src/main/java/com/google/cloud/firestore/spi/v1/GrpcFirestoreRpc.java @@ -148,6 +148,7 @@ public GrpcFirestoreRpc(final FirestoreOptions options) throws IOException { firestoreBuilder.runQuerySettings().retrySettings().setMaxAttempts(5); firestoreBuilder.runAggregationQuerySettings().retrySettings().setMaxAttempts(5); firestoreBuilder.batchGetDocumentsSettings().retrySettings().setMaxAttempts(5); + firestoreBuilder.executePipelineSettings().retrySettings().setMaxAttempts(5); } else { firestoreBuilder.applyToAllUnaryMethods( builder -> { @@ -158,6 +159,7 @@ public GrpcFirestoreRpc(final FirestoreOptions options) throws IOException { firestoreBuilder.runQuerySettings().setRetrySettings(retrySettings); firestoreBuilder.runAggregationQuerySettings().setRetrySettings(retrySettings); firestoreBuilder.batchGetDocumentsSettings().setRetrySettings(retrySettings); + firestoreBuilder.executePipelineSettings().setRetrySettings(retrySettings); } ApiTracerFactory apiTracerFactory = options.getApiTracerFactory(); diff --git a/google-cloud-firestore/src/test/java/com/google/cloud/firestore/spi/v1/GrpcFirestoreRpcTest.java b/google-cloud-firestore/src/test/java/com/google/cloud/firestore/spi/v1/GrpcFirestoreRpcTest.java index e4e888ff0e..3cf7025d0f 100644 --- a/google-cloud-firestore/src/test/java/com/google/cloud/firestore/spi/v1/GrpcFirestoreRpcTest.java +++ b/google-cloud-firestore/src/test/java/com/google/cloud/firestore/spi/v1/GrpcFirestoreRpcTest.java @@ -38,6 +38,8 @@ import com.google.firestore.v1.BeginTransactionResponse; import com.google.firestore.v1.CommitRequest; import com.google.firestore.v1.CommitResponse; +import com.google.firestore.v1.ExecutePipelineRequest; +import com.google.firestore.v1.ExecutePipelineResponse; import com.google.firestore.v1.ListDocumentsRequest; import com.google.firestore.v1.ListDocumentsResponse; import com.google.firestore.v1.PartitionQueryRequest; @@ -213,6 +215,18 @@ public void runAggregationQueryCallableFollowsServiceConfig() throws Exception { .containsExactlyElementsIn(expectedSettings.getRetryableCodes()); } + @Test + public void executePipelineCallableFollowsServiceConfig() throws Exception { + GrpcFirestoreRpc grpcFirestoreRpc = new GrpcFirestoreRpc(firestoreOptionsWithoutOverride); + CallableRetryData actual = getRetryData(grpcFirestoreRpc.executePipelineCallable()); + ServerStreamingCallSettings expectedSettings = + defaultStubSettings.executePipelineSettings(); + assertThat(actual.retrySettings) + .isEqualTo(withMaxAttempt5(expectedSettings.getRetrySettings())); + assertThat(actual.retryableCodes) + .containsExactlyElementsIn(expectedSettings.getRetryableCodes()); + } + @Test public void beginTransactionCallableFollowsServiceConfig() throws Exception { GrpcFirestoreRpc grpcFirestoreRpc = new GrpcFirestoreRpc(firestoreOptionsWithoutOverride);