Skip to content

Commit e83a64a

Browse files
committed
chore: Refactor retrier creation from HttpStorageOptions to StorageOptions
1 parent e94c4e6 commit e83a64a

File tree

2 files changed

+12
-10
lines changed

2 files changed

+12
-10
lines changed

google-cloud-storage/src/main/java/com/google/cloud/storage/HttpStorageOptions.java

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,6 @@
3232
import com.google.cloud.http.HttpTransportOptions;
3333
import com.google.cloud.spi.ServiceRpcFactory;
3434
import com.google.cloud.storage.BlobWriteSessionConfig.WriterFactory;
35-
import com.google.cloud.storage.Retrying.DefaultRetrier;
36-
import com.google.cloud.storage.Retrying.HttpRetrier;
3735
import com.google.cloud.storage.Retrying.RetryingDependencies;
3836
import com.google.cloud.storage.Storage.BlobWriteOption;
3937
import com.google.cloud.storage.TransportCompatibility.Transport;
@@ -408,14 +406,7 @@ public Storage create(StorageOptions options) {
408406
}
409407
WriterFactory factory = blobWriteSessionConfig.createFactory(clock);
410408
StorageImpl storage =
411-
new StorageImpl(
412-
httpStorageOptions,
413-
factory,
414-
new HttpRetrier(
415-
new DefaultRetrier(
416-
OtelStorageDecorator.retryContextDecorator(otel),
417-
RetryingDependencies.simple(
418-
options.getClock(), options.getRetrySettings()))));
409+
new StorageImpl(httpStorageOptions, factory, options.createRetrier());
419410
return OtelStorageDecorator.decorate(storage, otel, Transport.HTTP);
420411
} catch (IOException e) {
421412
throw new IllegalStateException(

google-cloud-storage/src/main/java/com/google/cloud/storage/StorageOptions.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,10 @@
2626
import com.google.cloud.storage.HttpStorageOptions.HttpStorageDefaults;
2727
import com.google.cloud.storage.HttpStorageOptions.HttpStorageFactory;
2828
import com.google.cloud.storage.HttpStorageOptions.HttpStorageRpcFactory;
29+
import com.google.cloud.storage.Retrying.DefaultRetrier;
30+
import com.google.cloud.storage.Retrying.HttpRetrier;
31+
import com.google.cloud.storage.Retrying.Retrier;
32+
import com.google.cloud.storage.Retrying.RetryingDependencies;
2933
import com.google.cloud.storage.Storage.BlobWriteOption;
3034
import com.google.cloud.storage.TransportCompatibility.Transport;
3135
import com.google.cloud.storage.spi.StorageRpcFactory;
@@ -68,6 +72,13 @@ public abstract class StorageOptions extends ServiceOptions<Storage, StorageOpti
6872
VERSION = tmp;
6973
}
7074

75+
Retrier createRetrier() {
76+
return new HttpRetrier(
77+
new DefaultRetrier(
78+
OtelStorageDecorator.retryContextDecorator(getOpenTelemetry()),
79+
RetryingDependencies.simple(getClock(), getRetrySettings())));
80+
}
81+
7182
/**
7283
* @deprecated Use {@link HttpStorageFactory}
7384
*/

0 commit comments

Comments
 (0)