You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@inlong.apache.org by do...@apache.org on 2022/08/25 09:38:20 UTC

[inlong] branch master updated: [INLONG-5698][Manager] Fixed the DataProxy cluster tag was restored after the manager was restarted (#5699)

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

dockerzhang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/inlong.git


The following commit(s) were added to refs/heads/master by this push:
     new fea2d2140 [INLONG-5698][Manager] Fixed the DataProxy cluster tag was restored after the manager was restarted (#5699)
fea2d2140 is described below

commit fea2d21407e0fce329939fdc18b38b4ce3f83d87
Author: fuweng11 <76...@users.noreply.github.com>
AuthorDate: Thu Aug 25 17:38:15 2022 +0800

    [INLONG-5698][Manager] Fixed the DataProxy cluster tag was restored after the manager was restarted (#5699)
---
 .../manager/dao/mapper/InlongClusterEntityMapper.java     |  2 ++
 .../main/resources/mappers/InlongClusterEntityMapper.xml  | 15 +++++++++++++++
 .../manager/service/core/heartbeat/HeartbeatManager.java  | 11 ++++-------
 3 files changed, 21 insertions(+), 7 deletions(-)

diff --git a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/InlongClusterEntityMapper.java b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/InlongClusterEntityMapper.java
index d1c7c40ed..36ca245df 100644
--- a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/InlongClusterEntityMapper.java
+++ b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/InlongClusterEntityMapper.java
@@ -40,6 +40,8 @@ public interface InlongClusterEntityMapper {
     List<InlongClusterEntity> selectByKey(@Param("clusterTag") String clusterTag, @Param("name") String name,
             @Param("type") String type);
 
+    InlongClusterEntity selectByNameAndType(@Param("name") String name, @Param("type") String type);
+
     List<InlongClusterEntity> selectByCondition(ClusterPageRequest request);
 
     /**
diff --git a/inlong-manager/manager-dao/src/main/resources/mappers/InlongClusterEntityMapper.xml b/inlong-manager/manager-dao/src/main/resources/mappers/InlongClusterEntityMapper.xml
index 1df48fbcb..ca518dad6 100644
--- a/inlong-manager/manager-dao/src/main/resources/mappers/InlongClusterEntityMapper.xml
+++ b/inlong-manager/manager-dao/src/main/resources/mappers/InlongClusterEntityMapper.xml
@@ -105,6 +105,21 @@
         </where>
         order by modify_time desc
     </select>
+    <select id="selectByNameAndType" resultType="org.apache.inlong.manager.dao.entity.InlongClusterEntity">
+        select
+        <include refid="Base_Column_List"/>
+        from inlong_cluster
+        <where>
+            is_deleted = 0
+            <if test="type != null and type != ''">
+                and type = #{type, jdbcType=VARCHAR}
+            </if>
+            <if test="name != null and name != ''">
+                and name = #{name, jdbcType=VARCHAR}
+            </if>
+        </where>
+        order by modify_time desc
+    </select>
     <select id="selectByCondition"
             parameterType="org.apache.inlong.manager.pojo.cluster.ClusterPageRequest"
             resultType="org.apache.inlong.manager.dao.entity.InlongClusterEntity">
diff --git a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/heartbeat/HeartbeatManager.java b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/heartbeat/HeartbeatManager.java
index 8353842ae..6027fa908 100644
--- a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/heartbeat/HeartbeatManager.java
+++ b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/heartbeat/HeartbeatManager.java
@@ -24,7 +24,6 @@ import com.github.benmanes.caffeine.cache.RemovalCause;
 import com.github.benmanes.caffeine.cache.Scheduler;
 import lombok.Getter;
 import lombok.extern.slf4j.Slf4j;
-import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.inlong.common.heartbeat.AbstractHeartbeatManager;
 import org.apache.inlong.common.heartbeat.ComponentHeartbeat;
@@ -44,7 +43,6 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
 import javax.annotation.PostConstruct;
-import java.util.List;
 import java.util.concurrent.Executors;
 import java.util.concurrent.TimeUnit;
 
@@ -158,12 +156,11 @@ public class HeartbeatManager implements AbstractHeartbeatManager {
         final String clusterName = componentHeartbeat.getClusterName();
         final String type = componentHeartbeat.getComponentType();
         final String clusterTag = componentHeartbeat.getClusterTag();
-        List<InlongClusterEntity> entities = clusterMapper.selectByKey(clusterTag, clusterName, type);
-        if (CollectionUtils.isNotEmpty(entities)) {
+        InlongClusterEntity entity = clusterMapper.selectByNameAndType(clusterName, type);
+        if (null != entity) {
             // TODO Load balancing needs to be considered.
-            InlongClusterEntity cluster = entities.get(0);
-            InlongClusterOperator operator = clusterOperatorFactory.getInstance(cluster.getType());
-            return operator.getFromEntity(cluster);
+            InlongClusterOperator operator = clusterOperatorFactory.getInstance(entity.getType());
+            return operator.getFromEntity(entity);
         }
 
         InlongClusterEntity cluster = new InlongClusterEntity();