Fix timing scheduling trigger master service report to get command parameter null pointer exception (#12419)
(cherry picked from commit a8e23008ac)
This commit is contained in:
parent
9f14571713
commit
31296afad4
|
|
@ -30,6 +30,7 @@ import static org.apache.dolphinscheduler.plugin.task.api.enums.DataType.VARCHAR
|
|||
import static org.apache.dolphinscheduler.plugin.task.api.enums.Direct.IN;
|
||||
import static org.apache.dolphinscheduler.plugin.task.api.utils.DataQualityConstants.TASK_INSTANCE_ID;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import static java.util.stream.Collectors.toSet;
|
||||
|
||||
import org.apache.dolphinscheduler.common.Constants;
|
||||
|
|
@ -133,7 +134,6 @@ import org.apache.dolphinscheduler.service.task.TaskPluginManager;
|
|||
import org.apache.dolphinscheduler.spi.enums.ResourceType;
|
||||
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.apache.commons.lang.math.NumberUtils;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
|
@ -390,16 +390,18 @@ public class ProcessServiceImpl implements ProcessService {
|
|||
@Counted("dolphinscheduler_create_command_count")
|
||||
public int createCommand(Command command) {
|
||||
int result = 0;
|
||||
if (command != null) {
|
||||
// add command timezone
|
||||
Schedule schedule = scheduleMapper.queryByProcessDefinitionCode(command.getProcessDefinitionCode());
|
||||
Map<String, String> commandParams = JSONUtils.toMap(command.getCommandParam());
|
||||
if (commandParams != null && schedule != null) {
|
||||
commandParams.put(Constants.SCHEDULE_TIMEZONE, schedule.getTimezoneId());
|
||||
command.setCommandParam(JSONUtils.toJsonString(commandParams));
|
||||
}
|
||||
result = commandMapper.insert(command);
|
||||
if (command == null) {
|
||||
return result;
|
||||
}
|
||||
// add command timezone
|
||||
Schedule schedule = scheduleMapper.queryByProcessDefinitionCode(command.getProcessDefinitionCode());
|
||||
if (schedule != null) {
|
||||
Map<String, String> commandParams = StringUtils.isNotBlank(command.getCommandParam()) ? JSONUtils.toMap(command.getCommandParam()) : new HashMap<>();
|
||||
commandParams.put(Constants.SCHEDULE_TIMEZONE, schedule.getTimezoneId());
|
||||
command.setCommandParam(JSONUtils.toJsonString(commandParams));
|
||||
}
|
||||
command.setId(null);
|
||||
result = commandMapper.insert(command);
|
||||
return result;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -17,6 +17,7 @@
|
|||
|
||||
package org.apache.dolphinscheduler.service.quartz;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.dolphinscheduler.common.Constants;
|
||||
import org.apache.dolphinscheduler.common.enums.CommandType;
|
||||
import org.apache.dolphinscheduler.common.enums.ReleaseState;
|
||||
|
|
@ -36,7 +37,6 @@ import org.slf4j.Logger;
|
|||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.scheduling.quartz.QuartzJobBean;
|
||||
import org.springframework.util.StringUtils;
|
||||
|
||||
import io.micrometer.core.annotation.Counted;
|
||||
import io.micrometer.core.annotation.Timed;
|
||||
|
|
|
|||
Loading…
Reference in New Issue