Skip to content

Commit 9a8541c

Browse files
authored
Merge branch 'dev' into feature/17843-task-timeout-alert-it
2 parents cfe8dd7 + be1f12f commit 9a8541c

2 files changed

Lines changed: 22 additions & 12 deletions

File tree

dolphinscheduler-master/src/main/java/org/apache/dolphinscheduler/server/master/engine/workflow/serial/AbstractSerialCommandHandler.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
package org.apache.dolphinscheduler.server.master.engine.workflow.serial;
1919

2020
import org.apache.dolphinscheduler.common.enums.WorkflowExecutionStatus;
21+
import org.apache.dolphinscheduler.common.utils.DateUtils;
2122
import org.apache.dolphinscheduler.dao.entity.Command;
2223
import org.apache.dolphinscheduler.dao.entity.WorkflowInstance;
2324
import org.apache.dolphinscheduler.dao.model.SerialCommandDto;
@@ -82,6 +83,7 @@ public Void doInTransaction(TransactionStatus status) {
8283
// todo: call api to stop the workflow instance
8384
final Integer workflowInstanceId = serialCommand.getWorkflowInstanceId();
8485
final WorkflowInstance workflowInstance = workflowInstanceDao.queryById(workflowInstanceId);
86+
workflowInstance.setEndTime(DateUtils.getCurrentDate());
8587
workflowInstance.setState(WorkflowExecutionStatus.STOP);
8688
workflowInstanceDao.upsertWorkflowInstance(workflowInstance);
8789
return null;

dolphinscheduler-master/src/test/java/org/apache/dolphinscheduler/server/master/integration/cases/WorkflowStartTestCase.java

Lines changed: 20 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -213,12 +213,16 @@ public void testStartWorkflow_with_serialDiscardStrategy() {
213213
await()
214214
.atMost(Duration.ofMinutes(1))
215215
.untilAsserted(() -> {
216-
assertThat(repository.queryWorkflowInstance(workflowInstanceId1).getState())
217-
.isEqualTo(WorkflowExecutionStatus.SUCCESS);
218-
assertThat(repository.queryWorkflowInstance(workflowInstanceId2).getState())
219-
.isEqualTo(WorkflowExecutionStatus.STOP);
220-
assertThat(repository.queryWorkflowInstance(workflowInstanceId3).getState())
221-
.isEqualTo(WorkflowExecutionStatus.STOP);
216+
final WorkflowInstance workflowInstance1 = repository.queryWorkflowInstance(workflowInstanceId1);
217+
final WorkflowInstance workflowInstance2 = repository.queryWorkflowInstance(workflowInstanceId2);
218+
final WorkflowInstance workflowInstance3 = repository.queryWorkflowInstance(workflowInstanceId3);
219+
assertThat(workflowInstance1.getState()).isEqualTo(WorkflowExecutionStatus.SUCCESS);
220+
assertThat(workflowInstance2.getState()).isEqualTo(WorkflowExecutionStatus.STOP);
221+
assertThat(workflowInstance2.getEndTime()).isNotNull();
222+
assertThat(workflowInstance2.getEndTime()).isAtLeast(workflowInstance2.getStartTime());
223+
assertThat(workflowInstance3.getState()).isEqualTo(WorkflowExecutionStatus.STOP);
224+
assertThat(workflowInstance3.getEndTime()).isNotNull();
225+
assertThat(workflowInstance3.getEndTime()).isAtLeast(workflowInstance3.getStartTime());
222226
});
223227

224228
masterContainer.assertAllResourceReleased();
@@ -242,12 +246,16 @@ public void testStartWorkflow_with_serialPriorityStrategy() {
242246
await()
243247
.atMost(Duration.ofMinutes(1))
244248
.untilAsserted(() -> {
245-
assertThat(repository.queryWorkflowInstance(workflowInstanceId1).getState())
246-
.isEqualTo(WorkflowExecutionStatus.STOP);
247-
assertThat(repository.queryWorkflowInstance(workflowInstanceId2).getState())
248-
.isEqualTo(WorkflowExecutionStatus.STOP);
249-
assertThat(repository.queryWorkflowInstance(workflowInstanceId3).getState())
250-
.isEqualTo(WorkflowExecutionStatus.SUCCESS);
249+
final WorkflowInstance workflowInstance1 = repository.queryWorkflowInstance(workflowInstanceId1);
250+
final WorkflowInstance workflowInstance2 = repository.queryWorkflowInstance(workflowInstanceId2);
251+
final WorkflowInstance workflowInstance3 = repository.queryWorkflowInstance(workflowInstanceId3);
252+
assertThat(workflowInstance1.getState()).isEqualTo(WorkflowExecutionStatus.STOP);
253+
assertThat(workflowInstance1.getEndTime()).isNotNull();
254+
assertThat(workflowInstance1.getEndTime()).isAtLeast(workflowInstance1.getStartTime());
255+
assertThat(workflowInstance2.getState()).isEqualTo(WorkflowExecutionStatus.STOP);
256+
assertThat(workflowInstance2.getEndTime()).isNotNull();
257+
assertThat(workflowInstance2.getEndTime()).isAtLeast(workflowInstance2.getStartTime());
258+
assertThat(workflowInstance3.getState()).isEqualTo(WorkflowExecutionStatus.SUCCESS);
251259
});
252260

253261
masterContainer.assertAllResourceReleased();

0 commit comments

Comments
 (0)