-
Notifications
You must be signed in to change notification settings - Fork 133
Open
Labels
api: spannerIssues related to the googleapis/java-spanner API.Issues related to the googleapis/java-spanner API.
Description
Hello,
I am using google-cloud-spanner 6.69.0 for java. I am trying to disable retry mechanism for :
com.google.cloud.spanner.SpannerException: UNAVAILABLE: io.grpc.StatusRuntimeException: UNAVAILABLE: io exception - Statement: 'SELECT 1'
To do that I have followed the documentation, and set:
SpannerOptions.Builder spannerOptionsBuilder = SpannerOptions.newBuilder();
spannerOptionsBuilder.getSpannerStubSettingsBuilder().streamingReadSettings().setRetryableCodes(Collections.emptySet());
spannerOptionsBuilder.getSpannerStubSettingsBuilder().executeStreamingSqlSettings().setRetryableCodes(Collections.emptySet());
However, this doesn't seem to have a valid effect because in the retrying loop:
Line 273 in 6b7e6ca
if (safeToRetry && isRetryable(spannerException)) { |
method isRetryable
is defined as follows:
boolean isRetryable(SpannerException spannerException) {
return spannerException.isRetryable()
|| retryableCodes.contains(
GrpcStatusCode.of(spannerException.getErrorCode().getGrpcStatusCode()).getCode());
}
which basically ignores retryableCodes setting, as long as exception itself is marked as retryable.
Not sure if this is a bug or intended behavior, but this still causes the retries to happen, despite setting retryableCodes to empty.
Metadata
Metadata
Assignees
Labels
api: spannerIssues related to the googleapis/java-spanner API.Issues related to the googleapis/java-spanner API.