Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
apache
DolphinScheduler
提交
624f0aea
DolphinScheduler
项目概览
apache
/
DolphinScheduler
上一次同步 1 年多
通知
707
Star
9572
Fork
3514
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
DolphinScheduler
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
624f0aea
编写于
7月 28, 2020
作者:
B
bao liang
提交者:
GitHub
7月 28, 2020
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix bug#1336 serial complement data can have multiple process instances (#3317)
Co-authored-by:
N
lenboo
<
baoliang@analysys.com.cn
>
上级
0577dc97
变更
1
显示空白变更内容
内联
并排
Showing
1 changed file
with
6 addition
and
12 deletion
+6
-12
dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/runner/MasterExecThread.java
...lphinscheduler/server/master/runner/MasterExecThread.java
+6
-12
未找到文件。
dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/runner/MasterExecThread.java
浏览文件 @
624f0aea
...
...
@@ -252,6 +252,9 @@ public class MasterExecThread implements Runnable {
}
while
(
Stopper
.
isRunning
()){
logger
.
info
(
"process {} start to complement {} data"
,
processInstance
.
getId
(),
DateUtils
.
dateToString
(
scheduleDate
));
// prepare dag and other info
prepareProcess
();
...
...
@@ -266,13 +269,13 @@ public class MasterExecThread implements Runnable {
// execute process ,waiting for end
runProcess
();
endProcess
();
// process instance failure ,no more complements
if
(!
processInstance
.
getState
().
typeIsSuccess
()){
logger
.
info
(
"process {} state {}, complement not completely!"
,
processInstance
.
getId
(),
processInstance
.
getState
());
break
;
}
// current process instance success ,next execute
if
(
null
==
iterator
){
// loop by day
...
...
@@ -291,9 +294,7 @@ public class MasterExecThread implements Runnable {
}
scheduleDate
=
iterator
.
next
();
}
logger
.
info
(
"process {} start to complement {} data"
,
processInstance
.
getId
(),
DateUtils
.
dateToString
(
scheduleDate
));
// flow end
// execute next process instance complement data
processInstance
.
setScheduleTime
(
scheduleDate
);
if
(
cmdParam
.
containsKey
(
Constants
.
CMDPARAM_RECOVERY_START_NODE_STRING
)){
...
...
@@ -301,22 +302,15 @@ public class MasterExecThread implements Runnable {
processInstance
.
setCommandParam
(
JSONUtils
.
toJsonString
(
cmdParam
));
}
List
<
TaskInstance
>
taskInstanceList
=
processService
.
findValidTaskListByProcessId
(
processInstance
.
getId
());
for
(
TaskInstance
taskInstance
:
taskInstanceList
){
taskInstance
.
setFlag
(
Flag
.
NO
);
processService
.
updateTaskInstance
(
taskInstance
);
}
processInstance
.
setState
(
ExecutionStatus
.
RUNNING_EXEUTION
);
processInstance
.
setGlobalParams
(
ParameterUtils
.
curingGlobalParams
(
processInstance
.
getProcessDefinition
().
getGlobalParamMap
(),
processInstance
.
getProcessDefinition
().
getGlobalParamList
(),
CommandType
.
COMPLEMENT_DATA
,
processInstance
.
getScheduleTime
()));
processInstance
.
setId
(
0
);
processService
.
saveProcessInstance
(
processInstance
);
}
// flow end
endProcess
();
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录