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")