-
Notifications
You must be signed in to change notification settings - Fork 69
Open
Labels
priority: p3Desirable enhancement or fix. May not be included in next release.Desirable enhancement or fix. May not be included in next release.type: feature request‘Nice-to-have’ improvement, new feature or different behavior or design.‘Nice-to-have’ improvement, new feature or different behavior or design.
Description
RetrySettingsComposer doesn't have logic to create set the maxAttempts value:
Lines 495 to 588 in 087253a
| private static List<Expr> createRetrySettingsExprs( | |
| String settingsName, | |
| GapicRetrySettings settings, | |
| VariableExpr settingsVarExpr, | |
| VariableExpr definitionsVarExpr) { | |
| Expr settingsBuilderExpr = | |
| MethodInvocationExpr.builder() | |
| .setStaticReferenceType(FIXED_TYPESTORE.get("RetrySettings")) | |
| .setMethodName("newBuilder") | |
| .build(); | |
| RetryPolicy retryPolicy = settings.retryPolicy(); | |
| if (settings.kind().equals(GapicRetrySettings.Kind.FULL)) { | |
| Preconditions.checkState( | |
| retryPolicy.hasInitialBackoff(), | |
| String.format("initialBackoff not found for setting %s", settingsName)); | |
| settingsBuilderExpr = | |
| MethodInvocationExpr.builder() | |
| .setExprReferenceExpr(settingsBuilderExpr) | |
| .setMethodName("setInitialRetryDelay") | |
| .setArguments(createDurationOfMillisExpr(toValExpr(retryPolicy.getInitialBackoff()))) | |
| .build(); | |
| settingsBuilderExpr = | |
| MethodInvocationExpr.builder() | |
| .setExprReferenceExpr(settingsBuilderExpr) | |
| .setMethodName("setRetryDelayMultiplier") | |
| .setArguments(toValExpr(retryPolicy.getBackoffMultiplier())) | |
| .build(); | |
| Preconditions.checkState( | |
| retryPolicy.hasMaxBackoff(), | |
| String.format("maxBackoff not found for setting %s", settingsName)); | |
| settingsBuilderExpr = | |
| MethodInvocationExpr.builder() | |
| .setExprReferenceExpr(settingsBuilderExpr) | |
| .setMethodName("setMaxRetryDelay") | |
| .setArguments(createDurationOfMillisExpr(toValExpr(retryPolicy.getMaxBackoff()))) | |
| .build(); | |
| } | |
| if (!settings.kind().equals(GapicRetrySettings.Kind.NONE)) { | |
| settingsBuilderExpr = | |
| MethodInvocationExpr.builder() | |
| .setExprReferenceExpr(settingsBuilderExpr) | |
| .setMethodName("setInitialRpcTimeout") | |
| .setArguments(createDurationOfMillisExpr(toValExpr(settings.timeout()))) | |
| .build(); | |
| } | |
| // This will always be done, no matter the type of the retry settings object. | |
| settingsBuilderExpr = | |
| MethodInvocationExpr.builder() | |
| .setExprReferenceExpr(settingsBuilderExpr) | |
| .setMethodName("setRpcTimeoutMultiplier") | |
| .setArguments( | |
| ValueExpr.withValue( | |
| PrimitiveValue.builder().setType(TypeNode.DOUBLE).setValue("1.0").build())) | |
| .build(); | |
| if (!settings.kind().equals(GapicRetrySettings.Kind.NONE)) { | |
| for (String setterMethodName : Arrays.asList("setMaxRpcTimeout", "setTotalTimeout")) { | |
| settingsBuilderExpr = | |
| MethodInvocationExpr.builder() | |
| .setExprReferenceExpr(settingsBuilderExpr) | |
| .setMethodName(setterMethodName) | |
| .setArguments(createDurationOfMillisExpr(toValExpr(settings.timeout()))) | |
| .build(); | |
| } | |
| } | |
| settingsBuilderExpr = | |
| MethodInvocationExpr.builder() | |
| .setExprReferenceExpr(settingsBuilderExpr) | |
| .setMethodName("build") | |
| .setReturnType(settingsVarExpr.type()) | |
| .build(); | |
| Expr settingsAssignExpr = | |
| AssignmentExpr.builder() | |
| .setVariableExpr(settingsVarExpr) | |
| .setValueExpr(settingsBuilderExpr) | |
| .build(); | |
| Expr definitionsPutExpr = | |
| MethodInvocationExpr.builder() | |
| .setExprReferenceExpr(definitionsVarExpr) | |
| .setMethodName("put") | |
| .setArguments( | |
| ValueExpr.withValue(StringObjectValue.withValue(settingsName)), settingsVarExpr) | |
| .build(); | |
| return Arrays.asList(settingsAssignExpr, definitionsPutExpr); | |
| } |
Searching through google-cloud-java shows that there aren't any occurrences of setMaxAttempts being generated in the StubSettings: https://github.com/search?q=repo%3Agoogleapis%2Fgoogle-cloud-java%20setMaxAttempts&type=code
Metadata
Metadata
Assignees
Labels
priority: p3Desirable enhancement or fix. May not be included in next release.Desirable enhancement or fix. May not be included in next release.type: feature request‘Nice-to-have’ improvement, new feature or different behavior or design.‘Nice-to-have’ improvement, new feature or different behavior or design.