Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
yiicenne
DolphinScheduler
提交
c916c608
DolphinScheduler
项目概览
yiicenne
/
DolphinScheduler
与 Fork 源项目一致
Fork自
apache / DolphinScheduler
通知
1
Star
0
Fork
0
代码
文件
提交
分支
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,体验更适合开发者的 AI 搜索 >>
未验证
提交
c916c608
编写于
11月 16, 2022
作者:
K
Kerwin
提交者:
GitHub
11月 16, 2022
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix NPE while retry task (#12903)
上级
d99ba29b
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
12 addition
and
15 deletion
+12
-15
dolphinscheduler-master/src/main/java/org/apache/dolphinscheduler/server/master/event/StateEvent.java
...ache/dolphinscheduler/server/master/event/StateEvent.java
+1
-1
dolphinscheduler-master/src/main/java/org/apache/dolphinscheduler/server/master/event/TaskStateEvent.java
.../dolphinscheduler/server/master/event/TaskStateEvent.java
+1
-1
dolphinscheduler-master/src/main/java/org/apache/dolphinscheduler/server/master/event/WorkflowStateEvent.java
...phinscheduler/server/master/event/WorkflowStateEvent.java
+1
-1
dolphinscheduler-master/src/main/java/org/apache/dolphinscheduler/server/master/runner/StateWheelExecuteThread.java
...heduler/server/master/runner/StateWheelExecuteThread.java
+4
-4
dolphinscheduler-master/src/main/java/org/apache/dolphinscheduler/server/master/runner/WorkflowExecuteRunnable.java
...heduler/server/master/runner/WorkflowExecuteRunnable.java
+2
-5
dolphinscheduler-service/src/main/java/org/apache/dolphinscheduler/service/utils/LoggerUtils.java
...rg/apache/dolphinscheduler/service/utils/LoggerUtils.java
+3
-3
未找到文件。
dolphinscheduler-master/src/main/java/org/apache/dolphinscheduler/server/master/event/StateEvent.java
浏览文件 @
c916c608
...
...
@@ -31,7 +31,7 @@ public interface StateEvent {
int
getProcessInstanceId
();
int
getTaskInstanceId
();
Integer
getTaskInstanceId
();
@NonNull
StateEventType
getType
();
...
...
dolphinscheduler-master/src/main/java/org/apache/dolphinscheduler/server/master/event/TaskStateEvent.java
浏览文件 @
c916c608
...
...
@@ -36,7 +36,7 @@ public class TaskStateEvent implements StateEvent {
// todo: use wrapper type
private
int
processInstanceId
;
private
int
taskInstanceId
;
private
Integer
taskInstanceId
;
private
long
taskCode
;
...
...
dolphinscheduler-master/src/main/java/org/apache/dolphinscheduler/server/master/event/WorkflowStateEvent.java
浏览文件 @
c916c608
...
...
@@ -39,7 +39,7 @@ public class WorkflowStateEvent implements StateEvent {
/**
* Some event may contains taskInstanceId
*/
private
int
taskInstanceId
;
private
Integer
taskInstanceId
;
private
WorkflowExecutionStatus
status
;
...
...
dolphinscheduler-master/src/main/java/org/apache/dolphinscheduler/server/master/runner/StateWheelExecuteThread.java
浏览文件 @
c916c608
...
...
@@ -211,8 +211,8 @@ public class StateWheelExecuteThread extends BaseDaemonThread {
return
;
}
taskInstanceRetryCheckList
.
add
(
taskInstanceKey
);
logger
.
info
(
"[WorkflowInstance-{}][TaskInstance
-
{}] Added task instance into retry check list"
,
processInstance
.
getId
(),
taskInstance
.
get
Id
());
logger
.
info
(
"[WorkflowInstance-{}][TaskInstance
Key-{}:
{}] Added task instance into retry check list"
,
processInstance
.
getId
(),
taskInstance
.
get
TaskCode
(),
taskInstance
.
getTaskDefinitionVersion
());
}
public
void
removeTask4RetryCheck
(
@NonNull
ProcessInstance
processInstance
,
@NonNull
TaskInstance
taskInstance
)
{
...
...
@@ -344,8 +344,8 @@ public class StateWheelExecuteThread extends BaseDaemonThread {
// reset taskInstance endTime and state
// todo relative funtion: TaskInstance.retryTaskIntervalOverTime,
// WorkflowExecuteThread.cloneRetryTaskInstance
logger
.
info
(
"[TaskInstance
-
{}]The task instance can retry, will retry this task instance"
,
taskInstance
.
get
Id
());
logger
.
info
(
"[TaskInstance
Key-{}:
{}]The task instance can retry, will retry this task instance"
,
taskInstance
.
get
TaskCode
(),
taskInstance
.
getTaskDefinitionVersion
());
taskInstance
.
setEndTime
(
null
);
taskInstance
.
setState
(
TaskExecutionStatus
.
SUBMITTED_SUCCESS
);
...
...
dolphinscheduler-master/src/main/java/org/apache/dolphinscheduler/server/master/runner/WorkflowExecuteRunnable.java
浏览文件 @
c916c608
...
...
@@ -539,7 +539,7 @@ public class WorkflowExecuteRunnable implements Callable<WorkflowSubmitStatue> {
* check if task instance exist by state event
*/
public
void
checkTaskInstanceByStateEvent
(
TaskStateEvent
stateEvent
)
throws
StateEventHandleError
{
if
(
stateEvent
.
getTaskInstanceId
()
==
0
)
{
if
(
stateEvent
.
getTaskInstanceId
()
==
null
||
stateEvent
.
getTaskInstanceId
()
==
0
)
{
throw
new
StateEventHandleError
(
"The taskInstanceId is 0"
);
}
...
...
@@ -562,10 +562,7 @@ public class WorkflowExecuteRunnable implements Callable<WorkflowSubmitStatue> {
* get task instance from memory
*/
public
Optional
<
TaskInstance
>
getTaskInstance
(
int
taskInstanceId
)
{
if
(
taskInstanceMap
.
containsKey
(
taskInstanceId
))
{
return
Optional
.
ofNullable
(
taskInstanceMap
.
get
(
taskInstanceId
));
}
return
Optional
.
empty
();
return
Optional
.
ofNullable
(
taskInstanceMap
.
get
(
taskInstanceId
));
}
public
Optional
<
TaskInstance
>
getTaskInstance
(
long
taskCode
)
{
...
...
dolphinscheduler-service/src/main/java/org/apache/dolphinscheduler/service/utils/LoggerUtils.java
浏览文件 @
c916c608
...
...
@@ -79,16 +79,16 @@ public class LoggerUtils {
return
""
;
}
public
static
void
setWorkflowAndTaskInstanceIDMDC
(
int
workflowInstanceId
,
int
taskInstanceId
)
{
public
static
void
setWorkflowAndTaskInstanceIDMDC
(
Integer
workflowInstanceId
,
Integer
taskInstanceId
)
{
setWorkflowInstanceIdMDC
(
workflowInstanceId
);
setTaskInstanceIdMDC
(
taskInstanceId
);
}
public
static
void
setWorkflowInstanceIdMDC
(
int
workflowInstanceId
)
{
public
static
void
setWorkflowInstanceIdMDC
(
Integer
workflowInstanceId
)
{
MDC
.
put
(
Constants
.
WORKFLOW_INSTANCE_ID_MDC_KEY
,
String
.
valueOf
(
workflowInstanceId
));
}
public
static
void
setTaskInstanceIdMDC
(
int
taskInstanceId
)
{
public
static
void
setTaskInstanceIdMDC
(
Integer
taskInstanceId
)
{
MDC
.
put
(
Constants
.
TASK_INSTANCE_ID_MDC_KEY
,
String
.
valueOf
(
taskInstanceId
));
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录