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

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


The following commit(s) were added to refs/heads/dev-1.3.0 by this push:
     new 396b171  fix bug:#2735 (#2770)
396b171 is described below

commit 396b1716e4e9b0f55f3686ba8e0283555c65c085
Author: tlhhup <[email protected]>
AuthorDate: Fri May 22 11:20:54 2020 +0800

    fix bug:#2735 (#2770)
    
    1. store process id in zk.
    2. resolve host and port through zk path.
    3. modify ui key.
---
 .../java/org/apache/dolphinscheduler/common/Constants.java    |  2 +-
 .../org/apache/dolphinscheduler/common/utils/ResInfo.java     |  4 ++--
 .../server/master/registry/MasterRegistry.java                |  4 +++-
 .../dolphinscheduler/server/registry/HeartBeatTask.java       |  4 +++-
 .../server/worker/registry/WorkerRegistry.java                |  4 +++-
 .../apache/dolphinscheduler/service/zk/AbstractZKClient.java  | 11 +++++++----
 .../src/js/conf/home/pages/monitor/pages/servers/master.vue   |  2 +-
 .../src/js/conf/home/pages/monitor/pages/servers/worker.vue   |  2 +-
 dolphinscheduler-ui/src/js/module/i18n/locale/zh_CN.js        |  2 +-
 9 files changed, 22 insertions(+), 13 deletions(-)

diff --git 
a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/Constants.java
 
b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/Constants.java
index d958932..686dce3 100644
--- 
a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/Constants.java
+++ 
b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/Constants.java
@@ -507,7 +507,7 @@ public final class Constants {
     /**
      * heartbeat for zk info length
      */
-    public static final int HEARTBEAT_FOR_ZOOKEEPER_INFO_LENGTH = 9;
+    public static final int HEARTBEAT_FOR_ZOOKEEPER_INFO_LENGTH = 10;
 
 
     /**
diff --git 
a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/ResInfo.java
 
b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/ResInfo.java
index 9c1d880..fa52a91 100644
--- 
a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/ResInfo.java
+++ 
b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/ResInfo.java
@@ -18,8 +18,6 @@ package org.apache.dolphinscheduler.common.utils;
 import org.apache.dolphinscheduler.common.Constants;
 import org.apache.dolphinscheduler.common.model.Server;
 
-import java.util.Date;
-
 /**
  *  heartbeat for ZK reigster res info
  */
@@ -109,6 +107,8 @@ public class ResInfo {
                 Double.parseDouble(masterArray[2])));
         masterServer.setCreateTime(DateUtils.stringToDate(masterArray[6]));
         
masterServer.setLastHeartbeatTime(DateUtils.stringToDate(masterArray[7]));
+        //set process id
+        masterServer.setId(Integer.parseInt(masterArray[9]));
         return masterServer;
     }
 
diff --git 
a/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/registry/MasterRegistry.java
 
b/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/registry/MasterRegistry.java
index de6d3bc..3ddb9e7 100644
--- 
a/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/registry/MasterRegistry.java
+++ 
b/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/registry/MasterRegistry.java
@@ -19,6 +19,7 @@ package org.apache.dolphinscheduler.server.master.registry;
 import org.apache.curator.framework.CuratorFramework;
 import org.apache.curator.framework.state.ConnectionState;
 import org.apache.curator.framework.state.ConnectionStateListener;
+import org.apache.dolphinscheduler.common.Constants;
 import org.apache.dolphinscheduler.common.utils.DateUtils;
 import org.apache.dolphinscheduler.common.utils.OSUtils;
 import org.apache.dolphinscheduler.remote.utils.NamedThreadFactory;
@@ -131,6 +132,7 @@ public class MasterRegistry {
      * @return
      */
     private String getLocalAddress(){
-        return OSUtils.getHost() + ":" + masterConfig.getListenPort();
+        return OSUtils.getHost() + Constants.COLON + 
masterConfig.getListenPort();
     }
+
 }
diff --git 
a/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/registry/HeartBeatTask.java
 
b/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/registry/HeartBeatTask.java
index 6d0eae9..2345ce9 100644
--- 
a/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/registry/HeartBeatTask.java
+++ 
b/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/registry/HeartBeatTask.java
@@ -73,7 +73,9 @@ public class HeartBeatTask extends Thread{
             builder.append(reservedMemory).append(Constants.COMMA);
             builder.append(startTime).append(Constants.COMMA);
             builder.append(DateUtils.dateToString(new 
Date())).append(Constants.COMMA);
-            builder.append(status);
+            builder.append(status).append(COMMA);
+            //save process id
+            builder.append(OSUtils.getProcessID());
             
zookeeperRegistryCenter.getZookeeperCachedOperator().update(heartBeatPath, 
builder.toString());
         } catch (Throwable ex){
             logger.error("error write heartbeat info", ex);
diff --git 
a/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/worker/registry/WorkerRegistry.java
 
b/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/worker/registry/WorkerRegistry.java
index f7093a1..715db39 100644
--- 
a/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/worker/registry/WorkerRegistry.java
+++ 
b/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/worker/registry/WorkerRegistry.java
@@ -19,6 +19,7 @@ package org.apache.dolphinscheduler.server.worker.registry;
 import org.apache.curator.framework.CuratorFramework;
 import org.apache.curator.framework.state.ConnectionState;
 import org.apache.curator.framework.state.ConnectionStateListener;
+import org.apache.dolphinscheduler.common.Constants;
 import org.apache.dolphinscheduler.common.utils.DateUtils;
 import org.apache.dolphinscheduler.common.utils.OSUtils;
 import org.apache.dolphinscheduler.common.utils.StringUtils;
@@ -148,6 +149,7 @@ public class WorkerRegistry {
      * @return
      */
     private String getLocalAddress(){
-        return OSUtils.getHost() + ":" + workerConfig.getListenPort();
+        return OSUtils.getHost() + Constants.COLON + 
workerConfig.getListenPort();
     }
+
 }
diff --git 
a/dolphinscheduler-service/src/main/java/org/apache/dolphinscheduler/service/zk/AbstractZKClient.java
 
b/dolphinscheduler-service/src/main/java/org/apache/dolphinscheduler/service/zk/AbstractZKClient.java
index e75e20b..acbbe76 100644
--- 
a/dolphinscheduler-service/src/main/java/org/apache/dolphinscheduler/service/zk/AbstractZKClient.java
+++ 
b/dolphinscheduler-service/src/main/java/org/apache/dolphinscheduler/service/zk/AbstractZKClient.java
@@ -123,12 +123,15 @@ public abstract class AbstractZKClient extends 
ZookeeperCachedOperator {
                String parentPath = getZNodeParentPath(zkNodeType);
 
                List<Server> masterServers = new ArrayList<>();
-               int i = 0;
                for (Map.Entry<String, String> entry : masterMap.entrySet()) {
                        Server masterServer = 
ResInfo.parseHeartbeatForZKInfo(entry.getValue());
-                       masterServer.setZkDirectory(parentPath + "/"+ 
entry.getKey());
-                       masterServer.setId(i);
-                       i ++;
+                       String key = entry.getKey();
+                       masterServer.setZkDirectory(parentPath + "/"+ key);
+                       //set host and port
+                       String[] hostAndPort=key.split(COLON);
+                       String[] hosts=hostAndPort[0].split(DIVISION_STRING);
+                       masterServer.setHost(hosts[hosts.length-1]);// fetch 
the last one
+                       masterServer.setPort(Integer.parseInt(hostAndPort[1]));
                        masterServers.add(masterServer);
                }
                return masterServers;
diff --git 
a/dolphinscheduler-ui/src/js/conf/home/pages/monitor/pages/servers/master.vue 
b/dolphinscheduler-ui/src/js/conf/home/pages/monitor/pages/servers/master.vue
index dc06712..ecc414c 100644
--- 
a/dolphinscheduler-ui/src/js/conf/home/pages/monitor/pages/servers/master.vue
+++ 
b/dolphinscheduler-ui/src/js/conf/home/pages/monitor/pages/servers/master.vue
@@ -22,7 +22,7 @@
           <div class="row-title">
             <div class="left">
               <span class="sp">IP: {{item.host}}</span>
-              <span class="sp">{{$t('Process Pid')}}: {{item.port}}</span>
+              <span class="sp">{{$t('Process Pid')}}: {{item.id}}</span>
               <span class="sp">{{$t('Zk registration directory')}}: 
{{item.zkDirectory}}</span>
             </div>
             <div class="right">
diff --git 
a/dolphinscheduler-ui/src/js/conf/home/pages/monitor/pages/servers/worker.vue 
b/dolphinscheduler-ui/src/js/conf/home/pages/monitor/pages/servers/worker.vue
index b386ea0..ceaed89 100644
--- 
a/dolphinscheduler-ui/src/js/conf/home/pages/monitor/pages/servers/worker.vue
+++ 
b/dolphinscheduler-ui/src/js/conf/home/pages/monitor/pages/servers/worker.vue
@@ -22,7 +22,7 @@
           <div class="row-title">
             <div class="left">
               <span class="sp">IP: {{item.host}}</span>
-              <span class="sp">{{$t('Process Pid')}}: {{item.port}}</span>
+              <span class="sp">{{$t('Process Pid')}}: {{item.id}}</span>
               <span class="sp">{{$t('Zk registration directory')}}: 
{{item.zkDirectory}}</span>
             </div>
             <div class="right">
diff --git a/dolphinscheduler-ui/src/js/module/i18n/locale/zh_CN.js 
b/dolphinscheduler-ui/src/js/module/i18n/locale/zh_CN.js
index 2cdf09d..777173f 100755
--- a/dolphinscheduler-ui/src/js/module/i18n/locale/zh_CN.js
+++ b/dolphinscheduler-ui/src/js/module/i18n/locale/zh_CN.js
@@ -168,7 +168,7 @@ export default {
   'Project Name': '项目名称',
   'Please enter name': '请输入名称',
   'Owned Users': '所属用户',
-  'Process Pid': '进程pid',
+  'Process Pid': '进程Pid',
   'Zk registration directory': 'zk注册目录',
   cpuUsage: 'cpuUsage',
   memoryUsage: 'memoryUsage',

Reply via email to