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 2021/08/26 13:20:24 UTC

[incubator-inlong] branch master updated: [INLONG-1459] proxy address configuration is redundant for inlong-agent (#1483)

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/incubator-inlong.git


The following commit(s) were added to refs/heads/master by this push:
     new 8485d39  [INLONG-1459] proxy address configuration is redundant for inlong-agent (#1483)
8485d39 is described below

commit 8485d3910de665550f90de5c751d1111d3936b65
Author: healchow <he...@gmail.com>
AuthorDate: Thu Aug 26 21:20:17 2021 +0800

    [INLONG-1459] proxy address configuration is redundant for inlong-agent (#1483)
    
    Co-authored-by: healzhou <he...@tencent.com>
---
 .../pojo/dataproxy/BusinessClusterGroupInfo.java   | 29 -----------
 .../common/pojo/dataproxy/DataProxyIpRequest.java  | 12 ++---
 .../common/pojo/dataproxy/DataProxyIpResponse.java | 60 ++++------------------
 .../manager/dao/mapper/BusinessEntityMapper.java   |  8 ++-
 .../dao/mapper/DataProxyClusterEntityMapper.java   |  8 +--
 .../mappers/DataProxyClusterEntityMapper.xml       | 16 +++---
 .../service/core/DataProxyClusterService.java      |  5 +-
 .../core/impl/DataProxyClusterServiceImpl.java     | 54 ++++++++++---------
 .../controller/openapi/DataProxyController.java    | 10 ++--
 9 files changed, 65 insertions(+), 137 deletions(-)

diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/dataproxy/BusinessClusterGroupInfo.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/dataproxy/BusinessClusterGroupInfo.java
deleted file mode 100644
index 549a3c8..0000000
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/dataproxy/BusinessClusterGroupInfo.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.inlong.manager.common.pojo.dataproxy;
-
-import lombok.Data;
-
-@Data
-public class BusinessClusterGroupInfo {
-    private String businessId;
-    private String dataProxyClusters;
-    private Integer dataProxySwitch;
-    private Integer dataProxyLoadThreshold;
-    private Integer id;
-}
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/dataproxy/DataProxyIpRequest.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/dataproxy/DataProxyIpRequest.java
index c2fcb71..f7351ed 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/dataproxy/DataProxyIpRequest.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/dataproxy/DataProxyIpRequest.java
@@ -18,19 +18,17 @@
 package org.apache.inlong.manager.common.pojo.dataproxy;
 
 import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 @Data
 @ApiModel("DataProxy IP request param")
 public class DataProxyIpRequest {
 
-    String clusterId;
-    String netTag;
-    String businessId;
-    String tid;
-    String type;
+    @ApiModelProperty(value = "local ip of the data proxy")
     String ip = "";
-    boolean snQuerySwitch;
-    String interfaceIdList;
+
+    @ApiModelProperty(value = "net tag of the data proxy, default: all")
+    String netTag;
 
 }
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/dataproxy/DataProxyIpResponse.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/dataproxy/DataProxyIpResponse.java
index 24b6e4a..333c77d 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/dataproxy/DataProxyIpResponse.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/dataproxy/DataProxyIpResponse.java
@@ -17,64 +17,24 @@
 
 package org.apache.inlong.manager.common.pojo.dataproxy;
 
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.google.gson.annotations.SerializedName;
 import io.swagger.annotations.ApiModel;
-import java.util.List;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 @Data
-@ApiModel("DataProxy IP response param")
+@ApiModel("DataProxy IP response")
 public class DataProxyIpResponse {
 
-    private String businessId;
-    private int clusterId;
-    private int size;
-    private int load;
-    private int isInterVisit;
-    private String netTag;
-    @SerializedName("switch")
-    @JsonProperty("switch")
-    private int switchX;
-    private List<AddressBean> address;
-
-    public static class AddressBean {
-
-        private String port;
-        private String host;
-        private Integer id;
-        private String netTag;
-
-        public String getPort() {
-            return port;
-        }
+    @ApiModelProperty(value = "cluster id")
+    private Integer id;
 
-        public void setPort(String port) {
-            this.port = port;
-        }
+    @ApiModelProperty(value = "cluster instance ip")
+    private String ip;
 
-        public String getHost() {
-            return host;
-        }
+    @ApiModelProperty(value = "cluster instance port")
+    private String port;
 
-        public void setHost(String host) {
-            this.host = host;
-        }
-
-        public Integer getId() {
-            return id;
-        }
-
-        public void setId(Integer id) {
-            this.id = id;
-        }
-
-        public String getNetTag() {
-            return netTag;
-        }
+    @ApiModelProperty(value = "cluster ip type, default: all")
+    private String netTag;
 
-        public void setNetTag(String netTag) {
-            this.netTag = netTag;
-        }
-    }
 }
diff --git a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/BusinessEntityMapper.java b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/BusinessEntityMapper.java
index 929c263..a03c19b 100644
--- a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/BusinessEntityMapper.java
+++ b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/BusinessEntityMapper.java
@@ -17,14 +17,12 @@
 
 package org.apache.inlong.manager.dao.mapper;
 
-import org.apache.inlong.manager.common.pojo.business.BusinessPageRequest;
-import org.apache.inlong.manager.common.pojo.dataproxy.DataProxyConfig;
-import org.apache.inlong.manager.dao.entity.BusinessEntity;
-
 import java.util.List;
 import java.util.Map;
-
 import org.apache.ibatis.annotations.Param;
+import org.apache.inlong.manager.common.pojo.business.BusinessPageRequest;
+import org.apache.inlong.manager.common.pojo.dataproxy.DataProxyConfig;
+import org.apache.inlong.manager.dao.entity.BusinessEntity;
 import org.springframework.stereotype.Repository;
 
 @Repository
diff --git a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/DataProxyClusterEntityMapper.java b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/DataProxyClusterEntityMapper.java
index e146fed..1148260 100644
--- a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/DataProxyClusterEntityMapper.java
+++ b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/DataProxyClusterEntityMapper.java
@@ -35,12 +35,12 @@ public interface DataProxyClusterEntityMapper {
 
     DataProxyClusterEntity selectByPrimaryKey(Integer id);
 
-    int updateByPrimaryKeySelective(DataProxyClusterEntity record);
-
-    int updateByPrimaryKey(DataProxyClusterEntity record);
+    List<DataProxyClusterEntity> selectAll();
 
     List<DataProxyClusterEntity> selectByCondition(DataProxyClusterPageRequest request);
 
-    List<DataProxyClusterEntity> queryDataProxyListByIds(List<String> ids);
+    int updateByPrimaryKeySelective(DataProxyClusterEntity record);
+
+    int updateByPrimaryKey(DataProxyClusterEntity record);
 
 }
\ No newline at end of file
diff --git a/inlong-manager/manager-dao/src/main/resources/mappers/DataProxyClusterEntityMapper.xml b/inlong-manager/manager-dao/src/main/resources/mappers/DataProxyClusterEntityMapper.xml
index aa0aef9..32171bf 100644
--- a/inlong-manager/manager-dao/src/main/resources/mappers/DataProxyClusterEntityMapper.xml
+++ b/inlong-manager/manager-dao/src/main/resources/mappers/DataProxyClusterEntityMapper.xml
@@ -47,6 +47,12 @@
         from data_proxy_cluster
         where id = #{id,jdbcType=INTEGER}
     </select>
+    <select id="selectAll" resultType="org.apache.inlong.manager.dao.entity.DataProxyClusterEntity">
+        select
+        <include refid="Base_Column_List"/>
+        from data_proxy_cluster
+        where is_deleted = 0
+    </select>
     <select id="selectByCondition" resultType="org.apache.inlong.manager.dao.entity.DataProxyClusterEntity"
             parameterType="org.apache.inlong.manager.common.pojo.cluster.DataProxyClusterPageRequest">
         select
@@ -64,6 +70,7 @@
         </where>
         order by modify_time desc
     </select>
+
     <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer">
         delete
         from data_proxy_cluster
@@ -260,13 +267,4 @@
         where id = #{id,jdbcType=INTEGER}
     </update>
 
-    <select id="queryDataProxyListByIds" resultMap="BaseResultMap">
-        select
-        <include refid="Base_Column_List"/>
-        from data_proxy_cluster
-        where id in
-        <foreach collection="list" item="id" index="index" open="(" close=")" separator=",">
-            #{id}
-        </foreach>
-    </select>
 </mapper>
\ No newline at end of file
diff --git a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/DataProxyClusterService.java b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/DataProxyClusterService.java
index f566bb9..88f0d6f 100644
--- a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/DataProxyClusterService.java
+++ b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/DataProxyClusterService.java
@@ -19,7 +19,6 @@ package org.apache.inlong.manager.service.core;
 
 import com.github.pagehelper.PageInfo;
 import java.util.List;
-import javax.servlet.http.HttpServletRequest;
 import org.apache.inlong.manager.common.pojo.cluster.DataProxyClusterInfo;
 import org.apache.inlong.manager.common.pojo.cluster.DataProxyClusterPageRequest;
 import org.apache.inlong.manager.common.pojo.dataproxy.DataProxyConfig;
@@ -28,7 +27,6 @@ import org.apache.inlong.manager.common.pojo.dataproxy.DataProxyIpResponse;
 
 /**
  * DataProxy cluster service layer interface
- *
  */
 public interface DataProxyClusterService {
 
@@ -79,10 +77,9 @@ public interface DataProxyClusterService {
      * Query data proxy ip list
      *
      * @param request query request param
-     * @param httpRequest HTTP request instance
      * @return data proxy ip list
      */
-    DataProxyIpResponse getIpList(DataProxyIpRequest request, HttpServletRequest httpRequest);
+    List<DataProxyIpResponse> getIpList(DataProxyIpRequest request);
 
     /**
      * query data proxy config by cluster id
diff --git a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/impl/DataProxyClusterServiceImpl.java b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/impl/DataProxyClusterServiceImpl.java
index cd5b971..d2fe6d6 100644
--- a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/impl/DataProxyClusterServiceImpl.java
+++ b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/impl/DataProxyClusterServiceImpl.java
@@ -20,11 +20,10 @@ package org.apache.inlong.manager.service.core.impl;
 import com.github.pagehelper.Page;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
+import java.util.ArrayList;
 import java.util.Collections;
 import java.util.Date;
 import java.util.List;
-import java.util.stream.Collectors;
-import javax.servlet.http.HttpServletRequest;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.inlong.manager.common.enums.BizErrorCodeEnum;
@@ -38,7 +37,6 @@ import org.apache.inlong.manager.common.pojo.dataproxy.DataProxyIpResponse;
 import org.apache.inlong.manager.common.util.CommonBeanUtils;
 import org.apache.inlong.manager.common.util.Preconditions;
 import org.apache.inlong.manager.dao.entity.DataProxyClusterEntity;
-import org.apache.inlong.manager.dao.entity.SourceFileDetailEntity;
 import org.apache.inlong.manager.dao.mapper.BusinessEntityMapper;
 import org.apache.inlong.manager.dao.mapper.DataProxyClusterEntityMapper;
 import org.apache.inlong.manager.dao.mapper.SourceFileDetailEntityMapper;
@@ -160,38 +158,44 @@ public class DataProxyClusterServiceImpl implements DataProxyClusterService {
     }
 
     @Override
-    public DataProxyIpResponse getIpList(DataProxyIpRequest request, HttpServletRequest httpServletRequest) {
-        String netTag = request.getNetTag();
+    public List<DataProxyIpResponse> getIpList(DataProxyIpRequest request) {
+        LOGGER.debug("begin to get data proxy ip list, request: {}", request);
 
-        if (StringUtils.isEmpty(netTag)) {
-            List<SourceFileDetailEntity> fileEntityList = sourceFileDetailMapper.selectByIp(request.getIp());
-            for (SourceFileDetailEntity fileConfig : fileEntityList) { // Subject to the nettag of any source
-                int innerIp = fileConfig.getIsInnerIp();
+        List<DataProxyClusterEntity> entityList = dataProxyClusterMapper.selectAll();
+        if (entityList == null || entityList.isEmpty()) {
+            LOGGER.info("success to get data proxy ip list, but result is empty, request ip={}", request.getIp());
+            return null;
+        }
+
+        final String requestNetTag = request.getNetTag();
+        List<DataProxyIpResponse> responseList = new ArrayList<>();
+        for (DataProxyClusterEntity entity : entityList) {
+            // Subject to the net tag of any entity
+            String netTag = requestNetTag;
+            if (StringUtils.isEmpty(netTag)) {
+                int innerIp = entity.getIsInnerIp();
                 if (innerIp == 1) {
                     netTag = "auto";
-                    break;
-                } else if (0 == innerIp) {
-                    netTag = fileConfig.getNetTag();
-                    break;
+                } else {
+                    netTag = entity.getNetType();
                 }
-            }
 
-            if (StringUtils.isEmpty(netTag)) {
-                netTag = "all";
+                if (StringUtils.isEmpty(netTag)) {
+                    netTag = "all";
+                }
             }
-        }
 
-        final String filterNetTag = netTag;
-
-        if (!netTag.equals("all")) {
             DataProxyIpResponse response = new DataProxyIpResponse();
-            List<DataProxyIpResponse.AddressBean> address = response.getAddress().stream()
-                    .filter(a -> a.getNetTag().equals(filterNetTag)).collect(Collectors.toList());
-            response.setAddress(address);
-            return response;
+            response.setId(entity.getId());
+            response.setPort(entity.getPort());
+            response.setIp(entity.getAddress());
+            response.setNetTag(netTag);
+
+            responseList.add(response);
         }
 
-        return null;
+        LOGGER.info("success to get data proxy ip list, response size={}", responseList.size());
+        return responseList;
     }
 
     @Override
diff --git a/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/openapi/DataProxyController.java b/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/openapi/DataProxyController.java
index bc0aeaa..63d87a3 100644
--- a/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/openapi/DataProxyController.java
+++ b/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/openapi/DataProxyController.java
@@ -20,7 +20,6 @@ package org.apache.inlong.manager.web.controller.openapi;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import java.util.List;
-import javax.servlet.http.HttpServletRequest;
 import org.apache.inlong.manager.common.beans.Response;
 import org.apache.inlong.manager.common.pojo.dataproxy.DataProxyConfig;
 import org.apache.inlong.manager.common.pojo.dataproxy.DataProxyIpRequest;
@@ -28,6 +27,8 @@ import org.apache.inlong.manager.common.pojo.dataproxy.DataProxyIpResponse;
 import org.apache.inlong.manager.service.core.DataProxyClusterService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
@@ -39,9 +40,10 @@ public class DataProxyController {
     @Autowired
     private DataProxyClusterService dataProxyClusterService;
 
-    @GetMapping("/getIpList")
-    public DataProxyIpResponse getIpList(DataProxyIpRequest request, HttpServletRequest httpRequest) {
-        return dataProxyClusterService.getIpList(request, httpRequest);
+    @PostMapping("/getIpList")
+    @ApiOperation(value = "get data proxy ip list")
+    public Response<List<DataProxyIpResponse>> getIpList(@RequestBody DataProxyIpRequest request) {
+        return Response.success(dataProxyClusterService.getIpList(request));
     }
 
     @GetMapping("/getConfig")