From 5c898e38ed62b0f8d034d1e910be4b45692dae8e Mon Sep 17 00:00:00 2001 From: wangxj3 <857234426@qq.com> Date: Thu, 8 Apr 2021 18:58:43 +0800 Subject: [PATCH] [FIX-#5233][API] Fix bug ofREPEAT RUNNING processInstance throw exceprion (#5234) * fix bug of REPEAT RUNNING throw exception Co-authored-by: wangxj --- .../api/service/impl/ExecutorServiceImpl.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/ExecutorServiceImpl.java b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/ExecutorServiceImpl.java index 8e75eb9c5c..9747127ef7 100644 --- a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/ExecutorServiceImpl.java +++ b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/ExecutorServiceImpl.java @@ -24,7 +24,6 @@ import static org.apache.dolphinscheduler.common.Constants.CMD_PARAM_START_NODE_ import static org.apache.dolphinscheduler.common.Constants.CMD_PARAM_START_PARAMS; import static org.apache.dolphinscheduler.common.Constants.MAX_TASK_TIMEOUT; -import org.apache.commons.collections.MapUtils; import org.apache.dolphinscheduler.api.enums.ExecuteType; import org.apache.dolphinscheduler.api.enums.Status; import org.apache.dolphinscheduler.api.service.ExecutorService; @@ -57,6 +56,8 @@ import org.apache.dolphinscheduler.dao.mapper.ProjectMapper; import org.apache.dolphinscheduler.service.process.ProcessService; import org.apache.dolphinscheduler.service.quartz.cron.CronUtils; +import org.apache.commons.collections.MapUtils; + import java.util.ArrayList; import java.util.Date; import java.util.HashMap; @@ -266,7 +267,10 @@ public class ExecutorServiceImpl extends BaseServiceImpl implements ExecutorServ Map commandMap = JSONUtils.toMap(processInstance.getCommandParam(), String.class, Object.class); String startParams = null; if (MapUtils.isNotEmpty(commandMap) && executeType == ExecuteType.REPEAT_RUNNING) { - startParams = (commandMap.get(Constants.CMD_PARAM_START_PARAMS)).toString(); + Object startParamsJson = commandMap.get(Constants.CMD_PARAM_START_PARAMS); + if (startParamsJson != null) { + startParams = startParamsJson.toString(); + } } switch (executeType) {