@@ -29,14 +29,18 @@ import (
2929 "math"
3030 "time"
3131
32- commonpb "go.temporal.io/api/common/v1"
3332 enumspb "go.temporal.io/api/enums/v1"
3433 failurepb "go.temporal.io/api/failure/v1"
3534
3635 "go.temporal.io/server/common"
3736 "go.temporal.io/server/common/backoff"
3837)
3938
39+ const defaultInitialIntervalInSeconds = 1
40+ const defaultMaximumIntervalCoefficient = 100.0
41+ const defaultBackoffCoefficient = 2.0
42+ const defaultMaximumAttempts = 0
43+
4044func getBackoffInterval (
4145 now time.Time ,
4246 expirationTime time.Time ,
@@ -133,43 +137,49 @@ func isRetryable(failure *failurepb.Failure, nonRetryableTypes []string) bool {
133137
134138func getDefaultActivityRetryPolicyConfigOptions () map [string ]interface {} {
135139 return map [string ]interface {}{
136- "InitialRetryIntervalInSeconds " : 1 ,
137- "MaximumRetryIntervalInSeconds " : 100 ,
138- "ExponentialBackoffCoefficient" : 2.0 ,
139- "MaximumAttempts" : 0 ,
140+ "InitialIntervalInSeconds " : 1 ,
141+ "MaximumIntervalInSeconds " : 100 ,
142+ "BackoffCoefficient" : 2.0 ,
143+ "MaximumAttempts" : 0 ,
140144 }
141145}
142146
143- func fromConfigToActivityRetryPolicy (options map [string ]interface {}) * commonpb.RetryPolicy {
144- retryPolicy := & commonpb.RetryPolicy {}
145- initialRetryInterval , ok := options ["InitialRetryIntervalInSeconds" ]
147+ func fromConfigToDefaultActivityRetrySettings (options map [string ]interface {}) common.DefaultActivityRetrySettings {
148+ defaultSettings := common.DefaultActivityRetrySettings {
149+ InitialIntervalInSeconds : defaultInitialIntervalInSeconds ,
150+ MaximumIntervalCoefficient : defaultMaximumIntervalCoefficient ,
151+ BackoffCoefficient : defaultBackoffCoefficient ,
152+ MaximumAttempts : defaultMaximumAttempts ,
153+ }
154+
155+ initialIntervalInSeconds , ok := options ["InitialIntervalInSeconds" ]
146156 if ok {
147- retryPolicy .InitialIntervalInSeconds = int32 (initialRetryInterval .(int ))
157+ defaultSettings .InitialIntervalInSeconds = int32 (initialIntervalInSeconds .(int ))
148158 }
149159
150- maxRetryInterval , ok := options ["MaximumRetryIntervalInSeconds " ]
160+ maximumIntervalCoefficient , ok := options ["MaximumIntervalCoefficient " ]
151161 if ok {
152- retryPolicy . MaximumIntervalInSeconds = int32 ( maxRetryInterval .( int ) )
162+ defaultSettings . MaximumIntervalCoefficient = maximumIntervalCoefficient .( float64 )
153163 }
154164
155- exponentialBackoffCoefficient , ok := options ["ExponentialBackoffCoefficient " ]
165+ backoffCoefficient , ok := options ["BackoffCoefficient " ]
156166 if ok {
157- retryPolicy .BackoffCoefficient = exponentialBackoffCoefficient .(float64 )
167+ defaultSettings .BackoffCoefficient = backoffCoefficient .(float64 )
158168 }
159169
160170 maximumAttempts , ok := options ["MaximumAttempts" ]
161171 if ok {
162- retryPolicy .MaximumAttempts = int32 (maximumAttempts .(int ))
172+ defaultSettings .MaximumAttempts = int32 (maximumAttempts .(int ))
163173 }
164174
165- err := common .ValidateRetryPolicy (retryPolicy )
175+ err := common .ValidateRetryPolicy (common . EnsureRetryPolicyDefaults ( nil , defaultSettings ) )
166176 if err != nil {
167177 panic (
168178 fmt .Sprintf (
169- "Bad Default Activity Retry Policy defined: %+v failed validation %v" ,
170- retryPolicy ,
179+ "Bad Default Activity Retry Settings defined: %+v failed validation %v" ,
180+ defaultSettings ,
171181 err ))
172182 }
173183
174- return retryPolicy
184+ return defaultSettings
175185}
0 commit comments