From 9060f8b462fb3186951e3ddbc1ffe20fda70751a Mon Sep 17 00:00:00 2001 From: Jiajie Zhong Date: Thu, 4 Nov 2021 10:17:34 +0800 Subject: [PATCH] Fix process definitions exists check error (#6668) * Fix process definitions exists check error * Add error log while verify status neither success or exists --- .../server/PythonGatewayServer.java | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/dolphinscheduler-python/src/main/java/org/apache/dolphinscheduler/server/PythonGatewayServer.java b/dolphinscheduler-python/src/main/java/org/apache/dolphinscheduler/server/PythonGatewayServer.java index 4a16ab4de..08390e946 100644 --- a/dolphinscheduler-python/src/main/java/org/apache/dolphinscheduler/server/PythonGatewayServer.java +++ b/dolphinscheduler-python/src/main/java/org/apache/dolphinscheduler/server/PythonGatewayServer.java @@ -52,6 +52,8 @@ import java.util.Objects; import javax.annotation.PostConstruct; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.SpringApplication; import org.springframework.boot.web.servlet.support.SpringBootServletInitializer; @@ -69,6 +71,8 @@ import py4j.GatewayServer; }) }) public class PythonGatewayServer extends SpringBootServletInitializer { + private static final Logger LOGGER = LoggerFactory.getLogger(PythonGatewayServer.class); + @Autowired private ProcessDefinitionMapper processDefinitionMapper; @@ -177,7 +181,8 @@ public class PythonGatewayServer extends SpringBootServletInitializer { long projectCode = project.getCode(); Map verifyProcessDefinitionExists = processDefinitionService.verifyProcessDefinitionName(user, projectCode, name); - if (verifyProcessDefinitionExists.get(Constants.STATUS) != Status.SUCCESS) { + Status verifyStatus = (Status) verifyProcessDefinitionExists.get(Constants.STATUS); + if (verifyStatus == Status.PROCESS_DEFINITION_NAME_EXIST) { // update process definition ProcessDefinition processDefinition = processDefinitionMapper.queryByDefineName(projectCode, name); long processDefinitionCode = processDefinition.getCode(); @@ -186,12 +191,16 @@ public class PythonGatewayServer extends SpringBootServletInitializer { Map result = processDefinitionService.updateProcessDefinition(user, projectCode, name, processDefinitionCode, description, globalParams, locations, timeout, tenantCode, taskRelationJson, taskDefinitionJson); return processDefinitionCode; - } else { + } else if (verifyStatus == Status.SUCCESS) { // create process definition Map result = processDefinitionService.createProcessDefinition(user, projectCode, name, description, globalParams, locations, timeout, tenantCode, taskRelationJson, taskDefinitionJson); ProcessDefinition processDefinition = (ProcessDefinition) result.get(Constants.DATA_LIST); return processDefinition.getCode(); + } else { + String msg = "Verify process definition exists status is invalid, neither SUCCESS or PROCESS_DEFINITION_NAME_EXIST."; + LOGGER.error(msg); + throw new RuntimeException(msg); } }