You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dolphinscheduler.apache.org by le...@apache.org on 2020/06/10 03:55:41 UTC

[incubator-dolphinscheduler] 01/01: change 1.3.0 to 1.3.0-snapshot

This is an automated email from the ASF dual-hosted git repository.

leonbao pushed a commit to branch dev-merge
in repository https://gitbox.apache.org/repos/asf/incubator-dolphinscheduler.git

commit 1904a7022a38ff9bc8fbe42f1e8e9c4547916fd6
Merge: 2749c7e 464405f
Author: lenboo <ba...@analysys.com.cn>
AuthorDate: Wed Jun 10 11:42:15 2020 +0800

    change 1.3.0 to 1.3.0-snapshot

 .github/workflows/ci_e2e.yml                       |   2 +-
 .github/workflows/ci_ut.yml                        |   2 +-
 LICENSE                                            |  16 +
 NOTICE                                             |   2 +-
 README.md                                          |  17 +-
 README_zh_CN.md                                    |  17 +-
 ambari_plugin/README.md                            |  97 +++-
 .../DOLPHIN/1.3.0/configuration/dolphin-alert.xml  |   6 -
 .../1.3.0/configuration/dolphin-datasource.xml     | 261 ----------
 .../DOLPHIN/1.3.0/configuration/dolphin-worker.xml |   9 -
 .../1.3.0/configuration/dolphin-zookeeper.xml      |   8 -
 .../DOLPHIN/1.3.0/package/scripts/params.py        |   4 -
 dolphinscheduler-alert/pom.xml                     |   2 +-
 .../alert/template/impl/DefaultHTMLTemplate.java   |  19 +-
 .../dolphinscheduler/alert/utils/Constants.java    |   4 +
 .../src/main/resources/logback-alert.xml           |   2 +-
 .../template/impl/DefaultHTMLTemplateTest.java     |  37 +-
 dolphinscheduler-api/pom.xml                       |   2 +-
 .../api/controller/DataSourceController.java       |   2 +-
 .../apache/dolphinscheduler/api/enums/Status.java  |   2 +-
 .../api/service/DataSourceService.java             |  41 +-
 .../api/service/ProcessInstanceService.java        |   5 +-
 .../api/service/ResourcesService.java              |  64 ++-
 .../dolphinscheduler/api/service/UsersService.java |  65 ++-
 .../api/service/DataSourceServiceTest.java         |  65 ++-
 .../api/service/ResourcesServiceTest.java          |  14 +-
 dolphinscheduler-common/pom.xml                    |   2 +-
 .../apache/dolphinscheduler/common/Constants.java  |  13 +-
 .../common/enums/ExecutionStatus.java              |  11 +-
 .../dolphinscheduler/common/model/TaskNode.java    |  13 +
 .../common/task/datax/DataxParameters.java         |  13 +-
 .../dolphinscheduler/common/utils/DateUtils.java   |   2 +-
 .../common/utils/DependentUtils.java               |   6 +
 .../common/utils/ParameterUtils.java               |  17 +-
 .../dolphinscheduler/common/utils/ResInfo.java     |   8 +-
 .../common/utils/ScriptRunner.java                 |  34 +-
 .../common/utils/dependent/DependentDateUtils.java |  27 +
 .../src/main/resources/common.properties           |  30 +-
 .../common/shell/ShellExecutorTest.java            |  49 +-
 .../common/utils/DependentUtilsTest.java           |  40 ++
 dolphinscheduler-dao/pom.xml                       |   2 +-
 .../dao/datasource/BaseDataSource.java             |  13 +-
 .../dao/datasource/MySQLDataSource.java            |  47 ++
 .../dao/datasource/OracleDataSource.java           |  25 +-
 .../dolphinscheduler/dao/entity/ProcessData.java   |  10 +
 .../dolphinscheduler/dao/entity/WorkerGroup.java   |   3 -
 .../dao/mapper/ProcessDefinitionMapper.java        |   7 +
 .../dao/upgrade/DolphinSchedulerManager.java       |   7 +-
 .../dao/upgrade/ProcessDefinitionDao.java          |  92 ++++
 .../dolphinscheduler/dao/upgrade/UpgradeDao.java   |  54 +-
 .../dao/upgrade/WorkerGroupDao.java                |  65 +++
 .../src/main/resources/datasource.properties       |   3 +-
 .../dao/mapper/ProcessDefinitionMapper.xml         |   6 +
 .../dolphinscheduler/dao/mapper/UserMapper.xml     |   6 +-
 .../dao/mapper/WorkerGroupMapper.xml               |  40 --
 .../dao/datasource/MySQLDataSourceTest.java        |  64 +++
 .../dao/mapper/ProcessDefinitionMapperTest.java    |  27 +-
 .../dao/upgrade/ProcessDefinitionDaoTest.java      |  65 +++
 .../dao/upgrade/UpgradeDaoTest.java                |  24 +-
 .../dao/upgrade/WokrerGrouopDaoTest.java           |  51 ++
 dolphinscheduler-dist/pom.xml                      |   4 +-
 dolphinscheduler-dist/release-docs/LICENSE         |  50 +-
 dolphinscheduler-dist/release-docs/NOTICE          |  92 +---
 .../release-docs/licenses/LICENSE-ant-1.6.5.txt    | 203 ++++++++
 .../release-docs/licenses/LICENSE-commons-el.txt   |  60 ---
 ...-framework.txt => LICENSE-commons-lang-2.6.txt} |   0
 .../release-docs/licenses/LICENSE-core-3.1.1.txt   |  70 +++
 ...mons-lang3.txt => LICENSE-curator-framwork.txt} |   0
 .../release-docs/licenses/LICENSE-freemarker.txt   |  49 --
 .../release-docs/licenses/LICENSE-grpc-context.txt |  36 --
 .../release-docs/licenses/LICENSE-grpc-core.txt    |  36 --
 .../release-docs/licenses/LICENSE-grpc-netty.txt   |  36 --
 .../licenses/LICENSE-grpc-protobuf-little.txt      |  36 --
 .../licenses/LICENSE-grpc-protobuf.txt             |  36 --
 .../release-docs/licenses/LICENSE-grpc-stub.txt    |  36 --
 .../release-docs/licenses/LICENSE-h2-1.4.200.txt   | 552 +++++++++++++++++++++
 .../licenses/LICENSE-instrumentation-api.txt       | 201 --------
 .../licenses/LICENSE-jackson-annotations.txt       |   0
 .../release-docs/licenses/LICENSE-jackson-core.txt |   0
 .../licenses/LICENSE-jackson-databind.txt          |   0
 .../licenses/LICENSE-jasper-compiler.txt           | 202 --------
 .../licenses/LICENSE-jasper-runtime.txt            |  14 -
 .../licenses/LICENSE-jsp-api-2.1-6.1.14.txt        |  53 ++
 .../licenses/LICENSE-log4j-api-2.11.2.txt          |  53 ++
 ...mons-lang.txt => LICENSE-log4j-core-2.11.2.txt} |   2 +-
 .../release-docs/licenses/LICENSE-netty-buffer.txt | 201 --------
 .../licenses/LICENSE-netty-code-http.txt           | 201 --------
 .../licenses/LICENSE-netty-codec-http2.txt         | 201 --------
 .../licenses/LICENSE-netty-codec-socks.txt         | 201 --------
 .../release-docs/licenses/LICENSE-netty-codec.txt  | 201 --------
 .../release-docs/licenses/LICENSE-netty-common.txt | 201 --------
 .../licenses/LICENSE-netty-handler-proxy.txt       | 201 --------
 .../licenses/LICENSE-netty-handler.txt             | 201 --------
 .../licenses/LICENSE-netty-resolver.txt            | 201 --------
 .../licenses/LICENSE-netty-transport.txt           | 201 --------
 .../licenses/LICENSE-opencensus-api.txt            | 202 --------
 .../LICENSE-opencensus-contrib-grpc-metrics.txt    | 202 --------
 .../LICENSE-proto-google-common-protos.txt         | 202 --------
 .../licenses/LICENSE-protobuf-java-util.txt        |  42 --
 .../licenses/ui-licenses/LICENSE-normalize         |   8 -
 dolphinscheduler-plugin-api/pom.xml                |   2 +-
 dolphinscheduler-remote/pom.xml                    |   2 +-
 .../remote/NettyRemotingClient.java                |   2 +-
 .../remote/command/CommandType.java                |   2 +-
 .../command/log/RemoveTaskLogRequestCommand.java   |  63 +++
 .../command/log/RemoveTaskLogResponseCommand.java  |  63 +++
 .../remote/RemoveTaskLogRequestCommandTest.java    |  32 +-
 .../remote/RemoveTaskLogResponseCommandTest.java   |  24 +-
 dolphinscheduler-server/pom.xml                    |   2 +-
 .../server/log/LoggerRequestProcessor.java         |  35 +-
 .../dolphinscheduler/server/log/LoggerServer.java  |   1 +
 .../server/master/config/MasterConfig.java         |  11 +
 .../master/consumer/TaskPriorityQueueConsumer.java |  59 ++-
 .../server/master/dispatch/ExecutorDispatcher.java |   5 +-
 .../dispatch/host/LowerWeightHostManager.java      |  27 +-
 .../server/master/processor/TaskAckProcessor.java  |   2 +-
 .../server/master/registry/MasterRegistry.java     |  33 +-
 .../master/runner/DependentTaskExecThread.java     |   2 +-
 .../server/master/runner/MasterExecThread.java     |  15 +-
 .../server/master/runner/MasterTaskExecThread.java |  30 +-
 .../dolphinscheduler/server/monitor/RunConfig.java |  15 +-
 .../server/registry/HeartBeatTask.java             |  84 ++++
 .../server/utils/DependentExecute.java             |  32 +-
 .../server/worker/config/WorkerConfig.java         |   2 +-
 .../worker/processor/TaskCallbackService.java      |  42 +-
 .../server/worker/processor/TaskKillProcessor.java |   1 +
 .../server/worker/registry/WorkerRegistry.java     |  33 +-
 .../server/worker/runner/TaskExecuteThread.java    |  10 +
 .../worker/task/AbstractCommandExecutor.java       |  83 +++-
 .../server/worker/task/ShellCommandExecutor.java   |   7 +-
 .../server/worker/task/datax/DataxTask.java        |  54 +-
 .../server/worker/task/shell/ShellTask.java        |   2 +-
 .../server/worker/task/sql/SqlTask.java            |   2 +-
 .../generator/sources/MysqlSourceGenerator.java    |  18 +-
 .../dolphinscheduler/server/zk/ZKMasterClient.java |   5 +-
 .../src/main/resources/config/install_config.conf  |  30 +-
 .../src/main/resources/master.properties           |   8 +-
 .../src/main/resources/worker.properties           |   9 +-
 .../server/log/LoggerServerTest.java               |  62 +++
 .../server/master/DependentTaskTest.java           |  64 ++-
 .../consumer/TaskPriorityQueueConsumerTest.java    |   4 +-
 .../server/master/registry/MasterRegistryTest.java |   4 +-
 .../master/runner/MasterTaskExecThreadTest.java    |  41 +-
 .../server/registry/DependencyConfig.java          |   5 +
 .../worker/processor/TaskCallbackServiceTest.java  |  34 +-
 .../server/worker/registry/WorkerRegistryTest.java |   4 +-
 .../server/worker/task/datax/DataxTaskTest.java    |  11 +-
 dolphinscheduler-service/pom.xml                   |  24 +-
 .../service/log/LogClientService.java              |  29 ++
 .../service/permission/PermissionCheck.java        |   4 +
 .../service/process/ProcessService.java            |  65 ++-
 .../service/quartz/ProcessScheduleJob.java         |   4 +-
 .../service/zk/AbstractZKClient.java               |  17 +-
 .../dolphinscheduler/service/zk/ZKServer.java      |   5 +-
 .../dolphinscheduler/service/zk/ZKServerTest.java  |  12 +-
 dolphinscheduler-ui/pom.xml                        |   2 +-
 dolphinscheduler-ui/src/js/conf/home/index.js      |   2 -
 .../src/js/conf/home/pages/dag/_source/dag.js      |  22 +-
 .../src/js/conf/home/pages/dag/_source/dag.vue     |  24 +-
 .../home/pages/dag/_source/formModel/formModel.vue |  28 +-
 .../dag/_source/formModel/tasks/_source/commcon.js |   8 +
 .../pages/dag/_source/formModel/tasks/datax.vue    |  81 +++
 .../home/pages/dag/_source/formModel/tasks/mr.vue  |   2 +-
 .../pages/dag/_source/formModel/tasks/python.vue   |  37 ++
 .../home/pages/dag/_source/formModel/tasks/sql.vue |  37 ++
 .../pages/dag/_source/formModel/tasks/sqoop.vue    |  38 +-
 .../dag/_source/formModel/tasks/sub_process.vue    |   7 +-
 .../home/pages/dag/_source/plugIn/jsPlumbHandle.js |  40 +-
 .../js/conf/home/pages/dag/_source/plugIn/util.js  |   4 +-
 .../home/pages/dag/_source/startingParam/index.vue |   4 +-
 .../src/js/conf/home/pages/dag/_source/udp/udp.vue |   9 +-
 .../pages/list/_source/createDataSource.vue        |   6 +-
 .../home/pages/monitor/pages/servers/master.vue    |   2 +-
 .../home/pages/monitor/pages/servers/worker.vue    |   2 +-
 .../pages/definition/pages/list/_source/list.vue   |   9 +-
 .../pages/definition/pages/list/_source/timing.vue |  18 +-
 .../projects/pages/definition/pages/list/index.vue |   3 +
 .../pages/instance/pages/list/_source/list.vue     |  24 +-
 .../projects/pages/instance/pages/list/index.vue   |   3 +
 .../projects/pages/taskInstance/_source/list.vue   |   2 +-
 .../pages/projects/pages/taskInstance/index.vue    |   7 +-
 .../pages/file/pages/list/_source/rename.vue       |   2 +-
 .../pages/udf/pages/resource/_source/rename.vue    |   2 +-
 .../security/pages/users/_source/createUser.vue    |   7 +-
 .../src/js/conf/home/store/security/actions.js     |   2 +-
 .../src/js/module/i18n/locale/en_US.js             |  10 +-
 .../src/js/module/i18n/locale/zh_CN.js             |  12 +-
 licenses/LICENSE-mybatis.txt                       |  13 +
 pom.xml                                            |  10 +-
 script/scp-hosts.sh                                |  20 +-
 script/start-all.sh                                |  16 +-
 script/stop-all.sh                                 |  16 +-
 sql/dolphinscheduler-postgre.sql                   |   7 +-
 sql/dolphinscheduler_mysql.sql                     |   2 +-
 sql/h2.mv.db                                       | Bin 110592 -> 0 bytes
 .../mysql/dolphinscheduler_ddl.sql                 | 166 ++-----
 .../mysql/dolphinscheduler_dml.sql                 |   8 +-
 .../postgresql/dolphinscheduler_ddl.sql            | 173 ++-----
 .../postgresql/dolphinscheduler_dml.sql            |  24 +
 tools/dependencies/known-dependencies.txt          |   2 -
 200 files changed, 3441 insertions(+), 4838 deletions(-)

diff --cc dolphinscheduler-alert/src/main/java/org/apache/dolphinscheduler/alert/utils/Constants.java
index ec47a1e,540b1a9..465d9bf
--- a/dolphinscheduler-alert/src/main/java/org/apache/dolphinscheduler/alert/utils/Constants.java
+++ b/dolphinscheduler-alert/src/main/java/org/apache/dolphinscheduler/alert/utils/Constants.java
@@@ -156,24 -156,11 +156,28 @@@ public class Constants 
      public static final String ENTERPRISE_WECHAT_AGENT_ID = "enterprise.wechat.agent.id";
  
      public static final String ENTERPRISE_WECHAT_USERS = "enterprise.wechat.users";
 +    
 +
 +    public static final String DINGTALK_WEBHOOK = "dingtalk.webhook";
 +
 +    public static final String DINGTALK_KEYWORD = "dingtalk.keyword";
 +
 +    public static final String DINGTALK_PROXY_ENABLE = "dingtalk.isEnableProxy";
 +
 +    public static final String DINGTALK_PROXY = "dingtalk.proxy";
 +
 +    public static final String DINGTALK_PORT = "dingtalk.port";
 +
 +    public static final String DINGTALK_USER = "dingtalk.user";
 +
 +    public static final String DINGTALK_PASSWORD = "dingtalk.password";
 +
 +    public static final String DINGTALK_ENABLE = "dingtalk.isEnable";
  
+     public static final String HTML_HEADER_PREFIX = "<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'><html><head><title>dolphinscheduler</title><meta name='Keywords' content=''><meta name='Description' content=''><style type=\"text/css\">table {margin-top:0px;padding-top:0px;border:1px solid;font-size: 14px;color: #333333;border-width: 1px;border-color: #666666;border-collapse: collapse;}table th {border-width: 1px;padding: 8px;borde [...]
+ 
+     public static final String TABLE_BODY_HTML_TAIL = "</table></body></html>";
+ 
      /**
       * plugin config
       */
diff --cc dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/UsersService.java
index bb31733,8d79c8e..09d4824
--- a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/UsersService.java
+++ b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/UsersService.java
@@@ -306,16 -306,12 +310,13 @@@ public class UsersService extends BaseS
              user.setEmail(email);
          }
  
-         if (StringUtils.isNotEmpty(phone)) {
-             if (!CheckUtils.checkPhone(phone)){
-                 putMsg(result, Status.REQUEST_PARAMS_NOT_VALID_ERROR,phone);
-                 return result;
-             }
-             user.setPhone(phone);
+         if (StringUtils.isNotEmpty(phone) && !CheckUtils.checkPhone(phone)) {
+             putMsg(result, Status.REQUEST_PARAMS_NOT_VALID_ERROR,phone);
+             return result;
          }
- 
+         user.setPhone(phone);
          user.setQueue(queue);
 +        user.setState(state);
          Date now = new Date();
          user.setUpdateTime(now);
  
diff --cc dolphinscheduler-common/src/main/resources/common.properties
index 0cc118f,923f02a..089b07d
--- a/dolphinscheduler-common/src/main/resources/common.properties
+++ b/dolphinscheduler-common/src/main/resources/common.properties
@@@ -42,25 -42,23 +42,25 @@@ login.user.keytab.path=/opt/hdfs.headle
  # if resource.storage.type=HDFS, the user need to have permission to create directories under the HDFS root path
  hdfs.root.user=hdfs
  
 -# if resource.storage.type=S3,the value like: s3a://dolphinscheduler ; if resource.storage.type=HDFS, When namenode HA is enabled, you need to copy core-site.xml and hdfs-site.xml to conf dir
 +# if resource.storage.type=S3,the value like: s3a://dolphinscheduler ; if resource.storage.type=HDFS, When namenode HA is enabled, you need to copy core-site.xml and hdfs-site.xml to conf dir
  fs.defaultFS=hdfs://mycluster:8020
  
- # if resource.storage.type=S3,s3 endpoint
- #fs.s3a.endpoint=http://192.168.199.91:9010
+ # if resource.storage.type=S3,s3 endpoint
+ fs.s3a.endpoint=http://192.168.xx.xx:9010
  
- # if resource.storage.type=S3,s3 access key
- #fs.s3a.access.key=A3DXS30FO22544RE
+ # if resource.storage.type=S3,s3 access key
+ fs.s3a.access.key=A3DXS30FO22544RE
  
- # if resource.storage.type=S3,s3 secret key
- #fs.s3a.secret.key=OloCLq3n+8+sdPHUhJ21XrSxTC+JK
+ # if resource.storage.type=S3,s3 secret key
+ fs.s3a.secret.key=OloCLq3n+8+sdPHUhJ21XrSxTC+JK
  
  # if not use hadoop resourcemanager, please keep default value; if resourcemanager HA enable, please type the HA ips ; if resourcemanager is single, make this value empty
  yarn.resourcemanager.ha.rm.ids=192.168.xx.xx,192.168.xx.xx
  
- # If resourcemanager HA enable or not use resourcemanager, please keep the default value; If resourcemanager is single, you only need to replace ark1 to actual resourcemanager hostname.
- yarn.application.status.address=http://ark1:8088/ws/v1/cluster/apps/%s
+ # if resourcemanager HA enable or not use resourcemanager, please keep the default value; If resourcemanager is single, you only need to replace ds1 to actual resourcemanager hostname.
+ yarn.application.status.address=http://ds1:8088/ws/v1/cluster/apps/%s
 +# job history status url when application number threshold is reached(default 10000,maybe it was set to 1000)
- yarn.job.history.status.address=http://ark1:19888/ws/v1/history/mapreduce/jobs/%s
++yarn.job.history.status.address=http://ds1:19888/ws/v1/history/mapreduce/jobs/%s
  
  # system env path
  #dolphinscheduler.env.path=env/dolphinscheduler_env.sh
diff --cc dolphinscheduler-ui/src/js/module/i18n/locale/en_US.js
index 026b96b,def4c1a..a3d691c
--- a/dolphinscheduler-ui/src/js/module/i18n/locale/en_US.js
+++ b/dolphinscheduler-ui/src/js/module/i18n/locale/en_US.js
@@@ -588,9 -590,10 +590,13 @@@ export default 
    'Some Columns': 'Some Columns',
    'Branch flow': 'Branch flow',
    'Cannot select the same node for successful branch flow and failed branch flow': 'Cannot select the same node for successful branch flow and failed branch flow',
-   'Successful branch flow and failed branch flow are required': 'Successful branch flow and failed branch flow are required',
+   'Successful branch flow and failed branch flow are required': 'conditions node Successful and failed branch flow are required',
    'Unauthorized or deleted resources': 'Unauthorized or deleted resources',
    'Please delete all non-existent resources': 'Please delete all non-existent resources',
 +  'Enable': 'Enable',
-   'Disable': 'Disable'
++  'Disable': 'Disable',
++  'Please delete all non-existent resources': 'Please delete all non-existent resources',
+   'The Worker group no longer exists, please select the correct Worker group!': 'The Worker group no longer exists, please select the correct Worker group!',
+   'Please confirm whether the workflow has been saved before downloading': 'Please confirm whether the workflow has been saved before downloading',
+   'User name length is between 3 and 39': 'User name length is between 3 and 39'
  }
diff --cc dolphinscheduler-ui/src/js/module/i18n/locale/zh_CN.js
index 39f237c,add8601..af384cc
--- a/dolphinscheduler-ui/src/js/module/i18n/locale/zh_CN.js
+++ b/dolphinscheduler-ui/src/js/module/i18n/locale/zh_CN.js
@@@ -588,9 -590,10 +590,13 @@@ export default 
    'Some Columns': '选择列',
    'Branch flow': '分支流转',
    'Cannot select the same node for successful branch flow and failed branch flow': '成功分支流转和失败分支流转不能选择同一个节点',
-   'Successful branch flow and failed branch flow are required': '成功分支流转和失败分支流转必填',
+   'Successful branch flow and failed branch flow are required': 'conditions节点成功和失败分支流转必填',
    'Unauthorized or deleted resources': '未授权或已删除资源',
    'Please delete all non-existent resources': '请删除所有未授权或已删除资源',
 +  'Enable': '启用',
-   'Disable': '停用'
++  'Disable': '停用',
++  'Please delete all non-existent resources': '请删除所有未授权或已删除资源',
+   'The Worker group no longer exists, please select the correct Worker group!': '该Worker分组已经不存在,请选择正确的Worker分组!',
+   'Please confirm whether the workflow has been saved before downloading': '下载前请确定工作流是否已保存',
+   'User name length is between 3 and 39': '用户名长度在3~39之间'
  }
diff --cc sql/upgrade/1.3.0_schema/mysql/dolphinscheduler_ddl.sql
index 87d06e9,a188bfe..40e7a3f
--- a/sql/upgrade/1.3.0_schema/mysql/dolphinscheduler_ddl.sql
+++ b/sql/upgrade/1.3.0_schema/mysql/dolphinscheduler_ddl.sql
@@@ -354,27 -274,6 +274,27 @@@ CREATE PROCEDURE uc_dolphin_T_t_ds_proc
  d//
  
  delimiter ;
- CALL dc_dolphin_T_t_ds_error_command_D_worker_group_id;
- DROP PROCEDURE dc_dolphin_T_t_ds_error_command_D_worker_group_id;
+ CALL uc_dolphin_T_t_ds_process_definition_A_process_definition_unique;
+ DROP PROCEDURE uc_dolphin_T_t_ds_process_definition_A_process_definition_unique;
  
 +-- ac_dolphin_T_t_ds_user_A_state
 +drop PROCEDURE if EXISTS ac_dolphin_T_t_ds_user_A_state;
 +delimiter d//
 +CREATE PROCEDURE ac_dolphin_T_t_ds_user_A_state()
 +   BEGIN
 +       IF NOT EXISTS (SELECT 1 FROM information_schema.COLUMNS
 +           WHERE TABLE_NAME='t_ds_user'
 +           AND TABLE_SCHEMA=(SELECT DATABASE())
 +           AND COLUMN_NAME ='state')
 +   THEN
 +         ALTER TABLE t_ds_user ADD `state` int(1) DEFAULT 1 COMMENT 'state 0:disable 1:enable';
 +       END IF;
 + END;
 +
 +d//
 +
 +delimiter ;
 +CALL ac_dolphin_T_t_ds_user_A_state;
 +DROP PROCEDURE ac_dolphin_T_t_ds_user_A_state;
 +
 +
diff --cc sql/upgrade/1.3.0_schema/postgresql/dolphinscheduler_ddl.sql
index b3f5436,506ae35..7ea4a34
--- a/sql/upgrade/1.3.0_schema/postgresql/dolphinscheduler_ddl.sql
+++ b/sql/upgrade/1.3.0_schema/postgresql/dolphinscheduler_ddl.sql
@@@ -359,28 -277,9 +277,29 @@@ BEGI
  END;
  $$ LANGUAGE plpgsql;
  d//
+ 
  delimiter ;
- select dc_dolphin_T_t_ds_error_command_D_worker_group_id();
- DROP FUNCTION dc_dolphin_T_t_ds_error_command_D_worker_group_id();
+ SELECT uc_dolphin_T_t_ds_process_definition_A_process_definition_unique();
+ DROP FUNCTION IF EXISTS uc_dolphin_T_t_ds_process_definition_A_process_definition_unique();
  
  
 +-- ac_dolphin_T_t_ds_user_A_state
 +delimiter ;
 +DROP FUNCTION IF EXISTS ac_dolphin_T_t_ds_user_A_state();
 +delimiter d//
 +CREATE FUNCTION ac_dolphin_T_t_ds_user_A_state() RETURNS void AS $$
 +BEGIN
 +       IF NOT EXISTS (SELECT 1 FROM information_schema.COLUMNS
 +          WHERE TABLE_CATALOG=current_database()
 +          AND TABLE_SCHEMA=current_schema()
 +          AND TABLE_NAME='t_ds_user'
 +          AND COLUMN_NAME ='state')
 +      THEN
 +         ALTER TABLE t_ds_user ADD COLUMN state int DEFAULT 1;
 +       END IF;
 +END;
 +$$ LANGUAGE plpgsql;
 +d//
 +delimiter ;
 +select ac_dolphin_T_t_ds_user_A_state();
 +DROP FUNCTION ac_dolphin_T_t_ds_user_A_state();