Skip to content

Commit d0966cf

Browse files
authored
Calculate SchdeuleToCloseDeadline from current attempt instead of first attempt (#1022)
* Use GetScheduledTimestamp from current attempt instead of first attempt for SchdeuleToCloseDeadline
1 parent 46e2e86 commit d0966cf

File tree

4 files changed

+32
-28
lines changed

4 files changed

+32
-28
lines changed

internal/activity.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -300,7 +300,7 @@ func WithActivityTask(
300300
tracer opentracing.Tracer,
301301
) context.Context {
302302
var deadline time.Time
303-
scheduled := time.Unix(0, task.GetScheduledTimestamp())
303+
scheduled := time.Unix(0, task.GetScheduledTimestampOfThisAttempt())
304304
started := time.Unix(0, task.GetStartedTimestamp())
305305
scheduleToCloseTimeout := time.Duration(task.GetScheduleToCloseTimeoutSeconds()) * time.Second
306306
startToCloseTimeout := time.Duration(task.GetStartToCloseTimeoutSeconds()) * time.Second

internal/internal_task_handlers_test.go

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1300,12 +1300,13 @@ func (t *TaskHandlersTestSuite) TestActivityExecutionDeadline() {
13001300
WorkflowExecution: &s.WorkflowExecution{
13011301
WorkflowId: common.StringPtr("wID"),
13021302
RunId: common.StringPtr("rID")},
1303-
ActivityType: &s.ActivityType{Name: common.StringPtr("test")},
1304-
ActivityId: common.StringPtr(uuid.New()),
1305-
ScheduledTimestamp: common.Int64Ptr(d.ScheduleTS.UnixNano()),
1306-
ScheduleToCloseTimeoutSeconds: common.Int32Ptr(d.ScheduleDuration),
1307-
StartedTimestamp: common.Int64Ptr(d.StartTS.UnixNano()),
1308-
StartToCloseTimeoutSeconds: common.Int32Ptr(d.StartDuration),
1303+
ActivityType: &s.ActivityType{Name: common.StringPtr("test")},
1304+
ActivityId: common.StringPtr(uuid.New()),
1305+
ScheduledTimestamp: common.Int64Ptr(d.ScheduleTS.UnixNano()),
1306+
ScheduledTimestampOfThisAttempt: common.Int64Ptr(d.ScheduleTS.UnixNano()),
1307+
ScheduleToCloseTimeoutSeconds: common.Int32Ptr(d.ScheduleDuration),
1308+
StartedTimestamp: common.Int64Ptr(d.StartTS.UnixNano()),
1309+
StartToCloseTimeoutSeconds: common.Int32Ptr(d.StartDuration),
13091310
WorkflowType: &s.WorkflowType{
13101311
Name: common.StringPtr("wType"),
13111312
},
@@ -1358,12 +1359,13 @@ func (t *TaskHandlersTestSuite) TestActivityExecutionWorkerStop() {
13581359
WorkflowExecution: &s.WorkflowExecution{
13591360
WorkflowId: common.StringPtr("wID"),
13601361
RunId: common.StringPtr("rID")},
1361-
ActivityType: &s.ActivityType{Name: common.StringPtr("test")},
1362-
ActivityId: common.StringPtr(uuid.New()),
1363-
ScheduledTimestamp: common.Int64Ptr(time.Now().UnixNano()),
1364-
ScheduleToCloseTimeoutSeconds: common.Int32Ptr(1),
1365-
StartedTimestamp: common.Int64Ptr(time.Now().UnixNano()),
1366-
StartToCloseTimeoutSeconds: common.Int32Ptr(1),
1362+
ActivityType: &s.ActivityType{Name: common.StringPtr("test")},
1363+
ActivityId: common.StringPtr(uuid.New()),
1364+
ScheduledTimestamp: common.Int64Ptr(time.Now().UnixNano()),
1365+
ScheduledTimestampOfThisAttempt: common.Int64Ptr(time.Now().UnixNano()),
1366+
ScheduleToCloseTimeoutSeconds: common.Int32Ptr(1),
1367+
StartedTimestamp: common.Int64Ptr(time.Now().UnixNano()),
1368+
StartToCloseTimeoutSeconds: common.Int32Ptr(1),
13671369
WorkflowType: &s.WorkflowType{
13681370
Name: common.StringPtr("wType"),
13691371
},

internal/internal_workers_test.go

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -144,12 +144,13 @@ func (s *WorkersTestSuite) TestActivityWorkerStop() {
144144
WorkflowExecution: &m.WorkflowExecution{
145145
WorkflowId: common.StringPtr("wID"),
146146
RunId: common.StringPtr("rID")},
147-
ActivityType: &m.ActivityType{Name: common.StringPtr("test")},
148-
ActivityId: common.StringPtr(uuid.New()),
149-
ScheduledTimestamp: common.Int64Ptr(time.Now().UnixNano()),
150-
ScheduleToCloseTimeoutSeconds: common.Int32Ptr(1),
151-
StartedTimestamp: common.Int64Ptr(time.Now().UnixNano()),
152-
StartToCloseTimeoutSeconds: common.Int32Ptr(1),
147+
ActivityType: &m.ActivityType{Name: common.StringPtr("test")},
148+
ActivityId: common.StringPtr(uuid.New()),
149+
ScheduledTimestamp: common.Int64Ptr(time.Now().UnixNano()),
150+
ScheduledTimestampOfThisAttempt: common.Int64Ptr(time.Now().UnixNano()),
151+
ScheduleToCloseTimeoutSeconds: common.Int32Ptr(1),
152+
StartedTimestamp: common.Int64Ptr(time.Now().UnixNano()),
153+
StartToCloseTimeoutSeconds: common.Int32Ptr(1),
153154
WorkflowType: &m.WorkflowType{
154155
Name: common.StringPtr("wType"),
155156
},

internal/internal_workflow_testsuite.go

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1575,15 +1575,16 @@ func newTestActivityTask(workflowID, runID, activityID, workflowTypeName, domain
15751575
WorkflowId: common.StringPtr(workflowID),
15761576
RunId: common.StringPtr(runID),
15771577
},
1578-
ActivityId: common.StringPtr(activityID),
1579-
TaskToken: []byte(activityID), // use activityID as TaskToken so we can map TaskToken in heartbeat calls.
1580-
ActivityType: &shared.ActivityType{Name: common.StringPtr(params.ActivityType.Name)},
1581-
Input: params.Input,
1582-
ScheduledTimestamp: common.Int64Ptr(time.Now().UnixNano()),
1583-
ScheduleToCloseTimeoutSeconds: common.Int32Ptr(params.ScheduleToCloseTimeoutSeconds),
1584-
StartedTimestamp: common.Int64Ptr(time.Now().UnixNano()),
1585-
StartToCloseTimeoutSeconds: common.Int32Ptr(params.StartToCloseTimeoutSeconds),
1586-
HeartbeatTimeoutSeconds: common.Int32Ptr(params.HeartbeatTimeoutSeconds),
1578+
ActivityId: common.StringPtr(activityID),
1579+
TaskToken: []byte(activityID), // use activityID as TaskToken so we can map TaskToken in heartbeat calls.
1580+
ActivityType: &shared.ActivityType{Name: common.StringPtr(params.ActivityType.Name)},
1581+
Input: params.Input,
1582+
ScheduledTimestamp: common.Int64Ptr(time.Now().UnixNano()),
1583+
ScheduleToCloseTimeoutSeconds: common.Int32Ptr(params.ScheduleToCloseTimeoutSeconds),
1584+
ScheduledTimestampOfThisAttempt: common.Int64Ptr(time.Now().UnixNano()),
1585+
StartedTimestamp: common.Int64Ptr(time.Now().UnixNano()),
1586+
StartToCloseTimeoutSeconds: common.Int32Ptr(params.StartToCloseTimeoutSeconds),
1587+
HeartbeatTimeoutSeconds: common.Int32Ptr(params.HeartbeatTimeoutSeconds),
15871588
WorkflowType: &shared.WorkflowType{
15881589
Name: common.StringPtr(workflowTypeName),
15891590
},

0 commit comments

Comments
 (0)