未验证 提交 0b376f7f 编写于 作者: W wind 提交者: GitHub

[2.0.1-cherry-pick] fix bug : Tez state, complement data kill, dependent node (#7188)

* [Fix-7037][dolphincheduler-server] process instance can not be killed when complement data (#7140)

* fix bug 7037

* update processComplementData
Co-authored-by: NSbloodyS <sbloodys@qq.com>

* [Fix-5551][common] Fix ExecutionStatus for hive-on-Tez application (#6289)

* add ENDED state

* Update HadoopUtils.java

* [Fix-7093][dolphincheduler-server] fix dependent node stuck in running (#7116)

* fix bug 7093

* remove redundant else
Co-authored-by: NSbloodyS <sbloodys@qq.com>
Co-authored-by: NSbloodyS <460888207@qq.com>
Co-authored-by: NSbloodyS <sbloodys@qq.com>
Co-authored-by: NManhua <kevinjmh@qq.com>
上级 52f610ad
......@@ -658,6 +658,10 @@ public final class Constants {
* SUCCEEDED
*/
public static final String SUCCEEDED = "SUCCEEDED";
/**
* ENDED
*/
public static final String ENDED = "ENDED";
/**
* NEW
*/
......
......@@ -453,6 +453,7 @@ public class HadoopUtils implements Closeable {
case Constants.ACCEPTED:
return ExecutionStatus.SUBMITTED_SUCCESS;
case Constants.SUCCEEDED:
case Constants.ENDED:
return ExecutionStatus.SUCCESS;
case Constants.NEW:
case Constants.NEW_SAVING:
......
......@@ -91,9 +91,8 @@ public class StateWheelExecuteThread extends Thread {
for (TaskInstance taskInstance : this.taskInstanceCheckList.values()) {
if (TimeoutFlag.OPEN == taskInstance.getTaskDefine().getTimeoutFlag()) {
long timeRemain = DateUtils.getRemainTime(taskInstance.getStartTime(), taskInstance.getTaskDefine().getTimeout() * Constants.SEC_2_MINUTES_TIME_UNIT);
if (0 <= timeRemain && processTimeout(taskInstance)) {
if (0 >= timeRemain && processTimeout(taskInstance)) {
taskInstanceCheckList.remove(taskInstance.getId());
return;
}
}
if (taskInstance.taskCanRetry() && taskInstance.retryTaskIntervalOverTime()) {
......
......@@ -404,6 +404,10 @@ public class WorkflowExecuteThread implements Runnable {
return false;
}
if (processInstance.getState() == ExecutionStatus.READY_STOP) {
return false;
}
Date scheduleDate = processInstance.getScheduleTime();
if (scheduleDate == null) {
scheduleDate = complementListDate.get(0);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册