This is an automated email from the ASF dual-hosted git repository. leonbao pushed a commit to branch json_split in repository https://gitbox.apache.org/repos/asf/incubator-dolphinscheduler.git
commit 4c9c41933dd89452bf530b5d29debef8eeb76c42 Merge: abf6723 8879d8f Author: lenboo <[email protected]> AuthorDate: Sun Feb 21 14:54:18 2021 +0800 Merge remote-tracking branch 'upstream/dev' into spilit # Conflicts: # dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/ProcessInstanceService.java # dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/ProcessDefinitionServiceImpl.java # dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/ProcessDefinitionVersionServiceImpl.java .github/workflows/ci_e2e.yml | 2 +- docker/build/hooks/build | 2 +- .../dolphinscheduler-alert-dingtalk/pom.xml | 2 +- .../dingtalk/DingTalkAlertChannelFactory.java | 11 +- .../dolphinscheduler-alert-email/pom.xml | 2 +- .../alert/email/EmailAlertChannelFactory.java | 23 +- .../dolphinscheduler-alert-feishu/pom.xml | 2 +- .../alert/feishu/FeiShuAlertChannelFactory.java | 11 +- .../dolphinscheduler-alert-http/pom.xml | 2 +- .../dolphinscheduler-alert-script/pom.xml | 2 +- .../alert/script/ScriptAlertChannelFactory.java | 4 +- .../plugin/alert/script/ScriptSender.java | 6 +- .../plugin/alert/script/ScriptType.java | 14 - .../plugin/alert/script/ScriptSenderTest.java | 2 +- .../dolphinscheduler-alert-wechat/pom.xml | 2 +- dolphinscheduler-alert-plugin/pom.xml | 2 +- dolphinscheduler-alert/pom.xml | 2 +- dolphinscheduler-api/pom.xml | 2 +- .../api/controller/AccessTokenController.java | 4 +- .../api/controller/AlertGroupController.java | 17 +- .../controller/AlertPluginInstanceController.java | 20 +- .../api/controller/BaseController.java | 9 +- .../api/controller/DataAnalysisController.java | 31 +- .../api/controller/DataSourceController.java | 2 +- .../api/controller/ExecutorController.java | 7 +- .../api/controller/LoggerController.java | 7 +- .../api/controller/LoginController.java | 36 +- .../api/controller/MonitorController.java | 25 +- .../controller/ProcessDefinitionController.java | 20 +- .../api/controller/ProcessInstanceController.java | 41 +- .../api/controller/ProjectController.java | 46 +- .../api/controller/QueueController.java | 32 +- .../api/controller/ResourcesController.java | 10 +- .../api/controller/SchedulerController.java | 10 +- .../api/controller/TaskInstanceController.java | 21 +- .../api/controller/TaskRecordController.java | 17 +- .../api/controller/TenantController.java | 20 +- .../api/controller/UiPluginController.java | 4 +- .../api/controller/UsersController.java | 48 +- .../api/controller/WorkFlowLineageController.java | 46 +- .../api/controller/WorkerGroupController.java | 30 +- .../api/service/AccessTokenService.java | 1 + .../dolphinscheduler/api/service/BaseService.java | 71 +- .../api/service/DataAnalysisService.java | 2 +- .../api/service/DataSourceService.java | 544 +-------- .../api/service/ExecutorService.java | 509 +-------- .../api/service/LoggerService.java | 3 +- .../api/service/MonitorService.java | 168 +-- .../service/ProcessDefinitionVersionService.java | 3 + .../api/service/ProcessInstanceService.java | 629 +--------- .../api/service/ProjectService.java | 1 + .../dolphinscheduler/api/service/QueueService.java | 229 +--- .../api/service/ResourcesService.java | 1200 +------------------- .../api/service/SchedulerService.java | 509 +-------- .../api/service/SessionService.java | 5 +- .../api/service/TaskInstanceService.java | 154 +-- .../api/service/TaskRecordService.java | 48 +- .../api/service/UdfFuncService.java | 261 +---- .../api/service/UiPluginService.java | 2 +- .../api/service/WorkFlowLineageService.java | 83 +- .../api/service/WorkerGroupService.java | 140 +-- .../api/service/impl/AccessTokenServiceImpl.java | 19 +- .../api/service/impl/AlertGroupServiceImpl.java | 9 +- .../impl/AlertPluginInstanceServiceImpl.java | 23 +- .../BaseServiceImpl.java} | 44 +- .../api/service/impl/DataAnalysisServiceImpl.java | 15 +- .../DataSourceServiceImpl.java} | 69 +- .../ExecutorServiceImpl.java} | 27 +- .../api/service/impl/LoggerServiceImpl.java | 5 +- .../api/service/impl/MonitorServiceImpl.java | 165 +++ .../service/impl/ProcessDefinitionServiceImpl.java | 22 +- .../impl/ProcessDefinitionVersionServiceImpl.java | 11 +- .../ProcessInstanceServiceImpl.java} | 45 +- .../api/service/impl/ProjectServiceImpl.java | 17 +- .../QueueServiceImpl.java} | 53 +- .../ResourcesServiceImpl.java} | 574 +++++----- .../SchedulerServiceImpl.java} | 55 +- .../api/service/impl/SessionServiceImpl.java | 23 +- .../TaskInstanceServiceImpl.java} | 18 +- .../TaskRecordServiceImpl.java} | 22 +- .../api/service/impl/TenantServiceImpl.java | 27 +- .../UdfFuncServiceImpl.java} | 86 +- .../api/service/impl/UiPluginServiceImpl.java | 11 +- .../api/service/impl/UsersServiceImpl.java | 58 +- .../WorkFlowLineageServiceImpl.java} | 59 +- .../WorkerGroupServiceImpl.java} | 30 +- .../dolphinscheduler/api/utils/RegexUtils.java | 9 + .../api/controller/AbstractControllerTest.java | 18 +- .../api/controller/AccessTokenControllerTest.java | 21 +- .../api/controller/AlertGroupControllerTest.java | 17 +- .../api/controller/DataAnalysisControllerTest.java | 27 +- .../api/controller/DataSourceControllerTest.java | 15 +- .../api/controller/ExecutorControllerTest.java | 1 + .../api/controller/LoggerControllerTest.java | 13 +- .../api/controller/LoginControllerTest.java | 14 +- .../api/controller/MonitorControllerTest.java | 13 +- .../controller/ProcessInstanceControllerTest.java | 1 + .../api/controller/ProjectControllerTest.java | 18 +- .../api/controller/QueueControllerTest.java | 14 +- .../api/controller/ResourcesControllerTest.java | 15 +- .../api/controller/SchedulerControllerTest.java | 15 +- .../api/controller/TaskRecordControllerTest.java | 16 +- .../api/controller/TenantControllerTest.java | 15 +- .../api/controller/UsersControllerTest.java | 19 +- .../controller/WorkFlowLineageControllerTest.java | 14 +- .../api/controller/WorkerGroupControllerTest.java | 21 +- .../api/service/AccessTokenServiceTest.java | 5 +- .../api/service/AlertGroupServiceTest.java | 4 + .../service/AlertPluginInstanceServiceTest.java | 3 + .../api/service/BaseServiceTest.java | 19 +- .../api/service/DataAnalysisServiceTest.java | 4 + .../api/service/DataSourceServiceTest.java | 9 +- .../api/service/ExecutorService2Test.java | 5 +- .../api/service/ExecutorServiceTest.java | 27 +- .../api/service/LoggerServiceTest.java | 6 +- .../api/service/MonitorServiceTest.java | 18 +- .../api/service/ProcessDefinitionServiceTest.java | 3 + .../ProcessDefinitionVersionServiceTest.java | 3 + .../api/service/ProcessInstanceServiceTest.java | 9 +- .../api/service/ProjectServiceTest.java | 4 +- .../api/service/QueueServiceTest.java | 23 +- .../api/service/ResourcesServiceTest.java | 31 +- .../api/service/SchedulerServiceTest.java | 9 +- .../api/service/SessionServiceTest.java | 17 +- .../api/service/TaskInstanceServiceTest.java | 9 +- .../api/service/TenantServiceTest.java | 5 +- .../api/service/UdfFuncServiceTest.java | 28 +- .../api/service/UiPluginServiceTest.java | 2 +- .../api/service/UsersServiceTest.java | 38 +- .../api/service/WorkFlowLineageServiceTest.java | 21 +- .../api/service/WorkerGroupServiceTest.java | 10 +- .../dolphinscheduler/api/utils/RegexUtilsTest.java | 15 + dolphinscheduler-common/pom.xml | 1130 +++++++++--------- .../apache/dolphinscheduler/common/Constants.java | 18 +- .../dolphinscheduler/common/utils/DateUtils.java | 3 + .../dolphinscheduler/common/utils/StringUtils.java | 8 - .../common/utils/DateUtilsTest.java | 10 +- .../common/utils/StringUtilsTest.java | 15 - dolphinscheduler-dao/pom.xml | 242 ++-- .../dao/utils/ResourceProcessDefinitionUtils.java | 1 - dolphinscheduler-dist/pom.xml | 2 +- dolphinscheduler-microbench/pom.xml | 2 +- dolphinscheduler-remote/pom.xml | 2 +- dolphinscheduler-server/pom.xml | 2 +- .../server/registry/HeartBeatTask.java | 9 +- dolphinscheduler-service/pom.xml | 2 +- .../service/process/ProcessService.java | 4 +- .../queue/PeerTaskInstancePriorityQueue.java | 2 + .../service/zk/ZookeeperOperator.java | 4 +- dolphinscheduler-spi/pom.xml | 2 +- .../dolphinscheduler/spi/alert/AlertInfo.java | 2 +- .../spi/params/PluginParamsTransfer.java | 35 +- .../dolphinscheduler/spi/params/RadioParam.java | 4 +- .../spi/params/base/PluginParams.java | 22 +- .../dolphinscheduler/spi/utils/Constants.java | 55 + .../dolphinscheduler/spi/utils/JSONUtils.java | 34 + dolphinscheduler-ui/pom.xml | 2 +- .../pages/warningInstance/_source/list.vue | 1 + .../pages/security/pages/warningInstance/index.vue | 3 +- .../components/fileUpdate/definitionUpdate.vue | 13 +- .../components/fileUpdate/fileChildReUpdate.vue | 13 +- .../components/fileUpdate/fileChildUpdate.vue | 15 +- .../module/components/fileUpdate/fileReUpload.vue | 13 +- .../js/module/components/fileUpdate/fileUpdate.vue | 13 +- .../components/fileUpdate/resourceChildUpdate.vue | 17 +- .../js/module/components/fileUpdate/udfUpdate.vue | 26 +- .../src/js/module/components/nav/nav.vue | 2 +- .../src/js/module/i18n/locale/en_US.js | 1 + .../src/js/module/i18n/locale/zh_CN.js | 1 + pom.xml | 3 +- 170 files changed, 2803 insertions(+), 6198 deletions(-) diff --cc dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/ProcessInstanceService.java index 21ba828,914eb2d..6896c3a --- a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/ProcessInstanceService.java +++ b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/ProcessInstanceService.java @@@ -91,53 -31,7 +31,8 @@@ import java.util.Map /** * process instance service */ - @Service - public class ProcessInstanceService extends BaseService { - - - private static final Logger logger = LoggerFactory.getLogger(ProcessInstanceService.class); - - public static final String TASK_TYPE = "taskType"; - public static final String LOCAL_PARAMS_LIST = "localParamsList"; - - @Autowired - ProjectMapper projectMapper; - - @Autowired - ProjectService projectService; - - @Autowired - ProcessService processService; - - @Autowired - ProcessInstanceMapper processInstanceMapper; - - @Autowired - ProcessDefinitionMapper processDefineMapper; + - @Autowired - ProcessDefinitionService processDefinitionService; - - @Autowired - ProcessDefinitionVersionService processDefinitionVersionService; - - @Autowired - ExecutorService execService; - - @Autowired - TaskInstanceMapper taskInstanceMapper; - - @Autowired - LoggerService loggerService; - - @Autowired - ProcessDefinitionLogMapper processDefinitionLogMapper; - - @Autowired - TaskDefinitionLogMapper taskDefinitionLogMapper; - - @Autowired - UsersService usersService; + public interface ProcessInstanceService { /** * return top n SUCCESS process instance order by running time which started between startTime and endTime diff --cc dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/ProcessDefinitionServiceImpl.java index 1820399,97cea02..2b9e7a3 --- a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/ProcessDefinitionServiceImpl.java +++ b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/ProcessDefinitionServiceImpl.java @@@ -23,8 -23,8 +23,7 @@@ import org.apache.dolphinscheduler.api. import org.apache.dolphinscheduler.api.dto.treeview.Instance; import org.apache.dolphinscheduler.api.dto.treeview.TreeViewDto; import org.apache.dolphinscheduler.api.enums.Status; - import org.apache.dolphinscheduler.api.service.BaseService; import org.apache.dolphinscheduler.api.service.ProcessDefinitionService; -import org.apache.dolphinscheduler.api.service.ProcessDefinitionVersionService; import org.apache.dolphinscheduler.api.service.ProcessInstanceService; import org.apache.dolphinscheduler.api.service.ProjectService; import org.apache.dolphinscheduler.api.service.SchedulerService; @@@ -148,13 -145,7 +146,15 @@@ public class ProcessDefinitionServiceIm private ProcessService processService; @Autowired + private ProcessTaskRelationMapper processTaskRelationMapper; + + @Autowired + private ProcessTaskRelationLogMapper processTaskRelationLogMapper; + + @Autowired + TaskDefinitionLogMapper taskDefinitionLogMapper; ++ + private SchedulerService schedulerService; /** * create process definition @@@ -1258,9 -1284,9 +1258,9 @@@ @Override public Map<String, Object> queryProcessDefinitionAllByProjectId(Integer projectId) { - HashMap<String, Object> result = new HashMap<>(5); + HashMap<String, Object> result = new HashMap<>(); - List<ProcessDefinition> resourceList = processDefineMapper.queryAllDefinitionList(projectId); + List<ProcessDefinition> resourceList = processDefinitionMapper.queryAllDefinitionList(projectId); result.put(Constants.DATA_LIST, resourceList); putMsg(result, Status.SUCCESS); @@@ -1445,9 -1495,9 +1445,9 @@@ Integer processId, Project targetProject) throws JsonProcessingException { - Map<String, Object> result = new HashMap<>(5); + Map<String, Object> result = new HashMap<>(); - ProcessDefinition processDefinition = processDefineMapper.selectById(processId); + ProcessDefinition processDefinition = processDefinitionMapper.selectById(processId); if (processDefinition == null) { putMsg(result, Status.PROCESS_DEFINE_NOT_EXIST, processId); return result; diff --cc dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/ProcessDefinitionVersionServiceImpl.java index fdc9d1f,be7a3e9..64dcd87 --- a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/ProcessDefinitionVersionServiceImpl.java +++ b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/ProcessDefinitionVersionServiceImpl.java @@@ -61,7 -62,8 +62,8 @@@ public class ProcessDefinitionVersionSe * @param processDefinition the process definition that need to record version * @return the newest version number of this process definition */ + @Override - public long addProcessDefinitionVersion(ProcessDefinition processDefinition) { + public int addProcessDefinitionVersion(ProcessDefinition processDefinition) { long version = this.queryMaxVersionByProcessDefinitionId(processDefinition.getId()) + 1; diff --cc dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/ProcessInstanceServiceImpl.java index 21ba828,6659a7b..aeb23df --- a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/ProcessInstanceServiceImpl.java +++ b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/ProcessInstanceServiceImpl.java @@@ -37,7 -44,7 +44,6 @@@ import org.apache.dolphinscheduler.comm import org.apache.dolphinscheduler.common.graph.DAG; import org.apache.dolphinscheduler.common.model.TaskNode; import org.apache.dolphinscheduler.common.model.TaskNodeRelation; --import org.apache.dolphinscheduler.common.process.ProcessDag; import org.apache.dolphinscheduler.common.process.Property; import org.apache.dolphinscheduler.common.utils.CollectionUtils; import org.apache.dolphinscheduler.common.utils.DateUtils; @@@ -58,9 -62,8 +64,8 @@@ import org.apache.dolphinscheduler.dao. import org.apache.dolphinscheduler.dao.mapper.ProcessDefinitionMapper; import org.apache.dolphinscheduler.dao.mapper.ProcessInstanceMapper; import org.apache.dolphinscheduler.dao.mapper.ProjectMapper; +import org.apache.dolphinscheduler.dao.mapper.TaskDefinitionLogMapper; import org.apache.dolphinscheduler.dao.mapper.TaskInstanceMapper; --import org.apache.dolphinscheduler.dao.utils.DagHelper; import org.apache.dolphinscheduler.service.process.ProcessService; import java.io.BufferedReader; @@@ -89,17 -90,11 +94,16 @@@ import com.baomidou.mybatisplus.core.me import com.baomidou.mybatisplus.extension.plugins.pagination.Page; /** - * process instance service + * process instance service impl */ @Service - public class ProcessInstanceService extends BaseService { - + public class ProcessInstanceServiceImpl extends BaseServiceImpl implements ProcessInstanceService { + private static final Logger logger = LoggerFactory.getLogger(ProcessInstanceService.class); + + public static final String TASK_TYPE = "taskType"; + public static final String LOCAL_PARAMS_LIST = "localParamsList"; + @Autowired ProjectMapper projectMapper; @@@ -676,9 -647,17 +689,8 @@@ } } - - Map<String, Object> resultMap = new HashMap<>(); - - resultMap.put(GLOBAL_PARAMS, globalParams); - resultMap.put(LOCAL_PARAMS, localUserDefParams); - - result.put(DATA_LIST, resultMap); - putMsg(result, Status.SUCCESS); - return result; + return localUserDefParams; } -- /** * encapsulation gantt structure * @@@ -736,8 -710,26 +749,7 @@@ } /** - * process instance to DAG - * - * @param processInstance input process instance - * @return process instance dag. - */ - private static DAG<String, TaskNode, TaskNodeRelation> processInstance2DAG(ProcessInstance processInstance) { - - String processDefinitionJson = processInstance.getProcessInstanceJson(); - - ProcessData processData = JSONUtils.parseObject(processDefinitionJson, ProcessData.class); - - List<TaskNode> taskNodeList = processData.getTasks(); - - ProcessDag processDag = DagHelper.getProcessDag(taskNodeList); - - return DagHelper.buildDagGraph(processDag); - } - - /** * query process instance by processDefinitionId and stateArray - * * @param processDefinitionId processDefinitionId * @param states states array * @return process instance list
