Skip to content

Commit 3d6e75c

Browse files
authored
Add missing mappers for CronOverlapPolicy and ActiveCluster (#1450)
1 parent 97eba63 commit 3d6e75c

File tree

8 files changed

+36
-17
lines changed

8 files changed

+36
-17
lines changed

internal/compatibility/proto/decision.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,8 @@ func Decision(d *shared.Decision) *apiv1.Decision {
142142
Memo: Memo(attr.Memo),
143143
SearchAttributes: SearchAttributes(attr.SearchAttributes),
144144
JitterStart: secondsToDuration(attr.JitterStartSeconds),
145+
CronOverlapPolicy: CronOverlapPolicy(attr.CronOverlapPolicy),
146+
ActiveClusterSelectionPolicy: ActiveClusterSelectionPolicy(attr.ActiveClusterSelectionPolicy),
145147
},
146148
}
147149
case shared.DecisionTypeStartChildWorkflowExecution:
@@ -163,6 +165,8 @@ func Decision(d *shared.Decision) *apiv1.Decision {
163165
Header: Header(attr.Header),
164166
Memo: Memo(attr.Memo),
165167
SearchAttributes: SearchAttributes(attr.SearchAttributes),
168+
CronOverlapPolicy: CronOverlapPolicy(attr.CronOverlapPolicy),
169+
ActiveClusterSelectionPolicy: ActiveClusterSelectionPolicy(attr.ActiveClusterSelectionPolicy),
166170
},
167171
}
168172
case shared.DecisionTypeSignalExternalWorkflowExecution:

internal/compatibility/proto/types.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -417,6 +417,7 @@ func WorkflowExecutionInfo(t *shared.WorkflowExecutionInfo) *apiv1.WorkflowExecu
417417
AutoResetPoints: ResetPoints(t.AutoResetPoints),
418418
TaskList: t.GetTaskList(),
419419
IsCron: t.GetIsCron(),
420+
CronOverlapPolicy: CronOverlapPolicy(t.CronOverlapPolicy),
420421
}
421422
}
422423

internal/compatibility/testdata/common.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ const (
4848
HostName = "HostName"
4949
Identity = "Identity"
5050
CronSchedule = "CronSchedule"
51+
CronOverlapPolicy = 0
5152
Checksum = "Checksum"
5253
Reason = "Reason"
5354
Cause = "Cause"

internal/compatibility/testdata/decision.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,8 @@ var (
106106
Memo: &Memo,
107107
SearchAttributes: &SearchAttributes,
108108
JitterStart: Duration4,
109+
CronOverlapPolicy: apiv1.CronOverlapPolicy_CRON_OVERLAP_POLICY_SKIPPED,
110+
ActiveClusterSelectionPolicy: ActiveClusterSelectionPolicyRegionSticky,
109111
}
110112
FailWorkflowExecutionDecisionAttributes = apiv1.FailWorkflowExecutionDecisionAttributes{
111113
Failure: &Failure,
@@ -162,6 +164,8 @@ var (
162164
Header: &Header,
163165
Memo: &Memo,
164166
SearchAttributes: &SearchAttributes,
167+
CronOverlapPolicy: apiv1.CronOverlapPolicy_CRON_OVERLAP_POLICY_SKIPPED,
168+
ActiveClusterSelectionPolicy: ActiveClusterSelectionPolicyRegionSticky,
165169
}
166170
StartTimerDecisionAttributes = apiv1.StartTimerDecisionAttributes{
167171
TimerId: TimerID,

internal/compatibility/thrift/decision.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,8 @@ func Decision(d *apiv1.Decision) *shared.Decision {
136136
Memo: Memo(a.Memo),
137137
SearchAttributes: SearchAttributes(a.SearchAttributes),
138138
JitterStartSeconds: durationToSeconds(a.JitterStart),
139+
CronOverlapPolicy: CronOverlapPolicy(a.CronOverlapPolicy),
140+
ActiveClusterSelectionPolicy: ActiveClusterSelectionPolicy(a.ActiveClusterSelectionPolicy),
139141
}
140142
case *apiv1.Decision_StartChildWorkflowExecutionDecisionAttributes:
141143
decision.DecisionType = shared.DecisionTypeStartChildWorkflowExecution.Ptr()
@@ -156,6 +158,8 @@ func Decision(d *apiv1.Decision) *shared.Decision {
156158
Header: Header(a.Header),
157159
Memo: Memo(a.Memo),
158160
SearchAttributes: SearchAttributes(a.SearchAttributes),
161+
CronOverlapPolicy: CronOverlapPolicy(a.CronOverlapPolicy),
162+
ActiveClusterSelectionPolicy: ActiveClusterSelectionPolicy(a.ActiveClusterSelectionPolicy),
159163
}
160164
case *apiv1.Decision_SignalExternalWorkflowExecutionDecisionAttributes:
161165
decision.DecisionType = shared.DecisionTypeSignalExternalWorkflowExecution.Ptr()

internal/compatibility/thrift/types.go

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -421,20 +421,22 @@ func WorkflowExecutionInfo(t *apiv1.WorkflowExecutionInfo) *shared.WorkflowExecu
421421
return nil
422422
}
423423
return &shared.WorkflowExecutionInfo{
424-
Execution: WorkflowExecution(t.WorkflowExecution),
425-
Type: WorkflowType(t.Type),
426-
StartTime: timeToUnixNano(t.StartTime),
427-
CloseTime: timeToUnixNano(t.CloseTime),
428-
CloseStatus: WorkflowExecutionCloseStatus(t.CloseStatus),
429-
HistoryLength: &t.HistoryLength,
430-
ParentDomainId: ParentDomainID(t.ParentExecutionInfo),
431-
ParentExecution: ParentWorkflowExecution(t.ParentExecutionInfo),
432-
ExecutionTime: timeToUnixNano(t.ExecutionTime),
433-
Memo: Memo(t.Memo),
434-
SearchAttributes: SearchAttributes(t.SearchAttributes),
435-
AutoResetPoints: ResetPoints(t.AutoResetPoints),
436-
TaskList: &t.TaskList,
437-
IsCron: &t.IsCron,
424+
Execution: WorkflowExecution(t.WorkflowExecution),
425+
Type: WorkflowType(t.Type),
426+
StartTime: timeToUnixNano(t.StartTime),
427+
CloseTime: timeToUnixNano(t.CloseTime),
428+
CloseStatus: WorkflowExecutionCloseStatus(t.CloseStatus),
429+
HistoryLength: &t.HistoryLength,
430+
ParentDomainId: ParentDomainID(t.ParentExecutionInfo),
431+
ParentExecution: ParentWorkflowExecution(t.ParentExecutionInfo),
432+
ExecutionTime: timeToUnixNano(t.ExecutionTime),
433+
Memo: Memo(t.Memo),
434+
SearchAttributes: SearchAttributes(t.SearchAttributes),
435+
AutoResetPoints: ResetPoints(t.AutoResetPoints),
436+
TaskList: &t.TaskList,
437+
IsCron: &t.IsCron,
438+
CronOverlapPolicy: CronOverlapPolicy(t.CronOverlapPolicy),
439+
ActiveClusterSelectionPolicy: ActiveClusterSelectionPolicy(t.ActiveClusterSelectionPolicy),
438440
}
439441
}
440442

internal/internal_workflow.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -183,6 +183,7 @@ type (
183183
dataConverter DataConverter
184184
retryPolicy *shared.RetryPolicy
185185
cronSchedule string
186+
cronOverlapPolicy shared.CronOverlapPolicy
186187
contextPropagators []ContextPropagator
187188
memo map[string]interface{}
188189
searchAttributes map[string]interface{}

internal/internal_workflow_testsuite.go

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -191,9 +191,10 @@ type (
191191
workerStopChannel chan struct{}
192192
sessionEnvironment *testSessionEnvironmentImpl
193193

194-
cronSchedule string
195-
cronIterations int
196-
workflowInput []byte
194+
cronSchedule string
195+
cronIterations int
196+
workflowInput []byte
197+
cronOverlapPolicy shared.CronOverlapPolicy
197198
}
198199

199200
testSessionEnvironmentImpl struct {
@@ -391,6 +392,7 @@ func (env *testWorkflowEnvironmentImpl) newTestWorkflowEnvironmentForChild(param
391392
childEnv.workflowInfo.ParentWorkflowDomain = &env.workflowInfo.Domain
392393
childEnv.workflowInfo.ParentWorkflowExecution = &env.workflowInfo.WorkflowExecution
393394
childEnv.executionTimeout = time.Duration(*params.executionStartToCloseTimeoutSeconds) * time.Second
395+
childEnv.cronOverlapPolicy = params.cronOverlapPolicy
394396
if workflowHandler, ok := env.runningWorkflows[params.workflowID]; ok {
395397
// duplicate workflow ID
396398
if !workflowHandler.handled {

0 commit comments

Comments
 (0)