in cloud-spanner-r2dbc/src/main/java/com/google/cloud/spanner/r2dbc/util/SpannerExceptionUtil.java [126:138]
private static Duration extractRetryDelay(Throwable cause) {
Metadata trailers = Status.trailersFromThrowable(cause);
if (trailers != null && trailers.containsKey(KEY_RETRY_INFO)) {
RetryInfo retryInfo = trailers.get(KEY_RETRY_INFO);
if (retryInfo.hasRetryDelay()) {
com.google.protobuf.Duration protobufDuration = retryInfo.getRetryDelay();
return Duration.ofSeconds(protobufDuration.getSeconds())
.withNanos(protobufDuration.getNanos());
}
}
return null;
}