Skip to content
This repository was archived by the owner on Apr 7, 2026. It is now read-only.

Commit 1102920

Browse files
committed
fix: adjust the initial polling delay for ddl operations
1 parent 3d585cf commit 1102920

1 file changed

Lines changed: 25 additions & 5 deletions

File tree

google-cloud-spanner/src/main/java/com/google/cloud/spanner/SpannerOptions.java

Lines changed: 25 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1148,26 +1148,46 @@ private static String createCustomClientLibToken(String token) {
11481148

11491149
protected Builder() {
11501150
// Manually set retry and polling settings that work.
1151-
OperationTimedPollAlgorithm longRunningPollingAlgorithm =
1151+
1152+
// The polling setting with a short initial delay as we expect
1153+
// it to return soon.
1154+
OperationTimedPollAlgorithm shortInitialPollingDelayAlgorithm =
11521155
OperationTimedPollAlgorithm.create(
11531156
RetrySettings.newBuilder()
11541157
.setInitialRpcTimeoutDuration(Duration.ofSeconds(60L))
11551158
.setMaxRpcTimeoutDuration(Duration.ofSeconds(600L))
1156-
.setInitialRetryDelayDuration(Duration.ofSeconds(20L))
1159+
.setInitialRetryDelayDuration(Duration.ofSeconds(1L))
11571160
.setMaxRetryDelayDuration(Duration.ofSeconds(45L))
11581161
.setRetryDelayMultiplier(1.5)
11591162
.setRpcTimeoutMultiplier(1.5)
11601163
.setTotalTimeoutDuration(Duration.ofHours(48L))
11611164
.build());
11621165
databaseAdminStubSettingsBuilder
11631166
.createDatabaseOperationSettings()
1164-
.setPollingAlgorithm(longRunningPollingAlgorithm);
1167+
.setPollingAlgorithm(shortInitialPollingDelayAlgorithm);
11651168
databaseAdminStubSettingsBuilder
1169+
.updateDatabaseDdlOperationSettings()
1170+
.setPollingAlgorithm(shortInitialPollingDelayAlgorithm);
1171+
1172+
// The polling setting with a long initial delay as we expect
1173+
// the operation to take a bit long time to return.
1174+
OperationTimedPollAlgorithm longInitialPollingDelayAlgorithm =
1175+
OperationTimedPollAlgorithm.create(
1176+
RetrySettings.newBuilder()
1177+
.setInitialRpcTimeoutDuration(Duration.ofSeconds(60L))
1178+
.setMaxRpcTimeoutDuration(Duration.ofSeconds(600L))
1179+
.setInitialRetryDelayDuration(Duration.ofSeconds(20L))
1180+
.setMaxRetryDelayDuration(Duration.ofSeconds(45L))
1181+
.setRetryDelayMultiplier(1.5)
1182+
.setRpcTimeoutMultiplier(1.5)
1183+
.setTotalTimeoutDuration(Duration.ofHours(48L))
1184+
.build());
1185+
databaseAdminStubSettingsBuilder
11661186
.createBackupOperationSettings()
1167-
.setPollingAlgorithm(longRunningPollingAlgorithm);
1187+
.setPollingAlgorithm(longInitialPollingDelayAlgorithm);
11681188
databaseAdminStubSettingsBuilder
11691189
.restoreDatabaseOperationSettings()
1170-
.setPollingAlgorithm(longRunningPollingAlgorithm);
1190+
.setPollingAlgorithm(longInitialPollingDelayAlgorithm);
11711191
}
11721192

11731193
Builder(SpannerOptions options) {

0 commit comments

Comments
 (0)