This is an automated email from the ASF dual-hosted git repository.
kxiao pushed a commit to branch branch-2.0
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/branch-2.0 by this push:
new c87e8595402 [branch-2.0](cherry-pick)fix can not resolve host and port
#25254 (#25759)
c87e8595402 is described below
commit c87e85954023e334d088e3f962624eafa0bf31a3
Author: zhangdong <[email protected]>
AuthorDate: Tue Oct 24 13:19:56 2023 +0800
[branch-2.0](cherry-pick)fix can not resolve host and port #25254 (#25759)
---
.../java/org/apache/doris/alter/SystemHandler.java | 6 ++--
.../analysis/AdminCancelRebalanceDiskStmt.java | 4 ++-
.../apache/doris/analysis/AdminCleanTrashStmt.java | 5 +++-
.../doris/analysis/AdminRebalanceDiskStmt.java | 5 +++-
.../apache/doris/analysis/ShowTrashDiskStmt.java | 3 +-
.../java/org/apache/doris/catalog/BrokerMgr.java | 7 +++--
.../main/java/org/apache/doris/catalog/Env.java | 6 ++--
.../java/org/apache/doris/catalog/FsBroker.java | 3 +-
.../org/apache/doris/common/proc/TrashProcDir.java | 3 +-
.../org/apache/doris/common/util/BrokerReader.java | 3 +-
.../org/apache/doris/common/util/BrokerUtil.java | 6 ++--
.../doris/deploy/impl/AmbariDeployManager.java | 4 ++-
.../doris/fs/operations/BrokerFileOperations.java | 4 ++-
.../doris/httpv2/controller/BaseController.java | 7 +++--
.../doris/httpv2/rest/RestBaseController.java | 4 ++-
.../doris/httpv2/rest/TableQueryPlanAction.java | 4 ++-
.../doris/httpv2/rest/manager/ClusterAction.java | 7 +++--
.../doris/httpv2/rest/manager/NodeAction.java | 35 ++++++++++++++--------
.../httpv2/rest/manager/QueryProfileAction.java | 4 ++-
.../apache/doris/journal/bdbje/BDBJEJournal.java | 8 +++--
.../java/org/apache/doris/ldap/LdapClient.java | 7 +++--
.../org/apache/doris/master/ReportHandler.java | 4 ++-
.../java/org/apache/doris/metric/MetricRepo.java | 7 +++--
.../java/org/apache/doris/mysql/MysqlChannel.java | 4 ++-
.../java/org/apache/doris/qe/ShowExecutor.java | 6 ++--
.../org/apache/doris/system/SystemInfoService.java | 13 ++++----
.../ExternalFileTableValuedFunction.java | 4 ++-
27 files changed, 119 insertions(+), 54 deletions(-)
diff --git a/fe/fe-core/src/main/java/org/apache/doris/alter/SystemHandler.java
b/fe/fe-core/src/main/java/org/apache/doris/alter/SystemHandler.java
index 9695200a794..d4aae2d7dc0 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/alter/SystemHandler.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/alter/SystemHandler.java
@@ -38,6 +38,7 @@ import org.apache.doris.catalog.TabletInvertedIndex;
import org.apache.doris.common.Config;
import org.apache.doris.common.DdlException;
import org.apache.doris.common.UserException;
+import org.apache.doris.common.util.NetUtils;
import org.apache.doris.ha.FrontendNodeType;
import org.apache.doris.system.Backend;
import org.apache.doris.system.SystemInfoService;
@@ -210,8 +211,7 @@ public class SystemHandler extends AlterHandler {
hostInfo.getPort());
if (backend == null) {
throw new DdlException("Backend does not exist["
- + hostInfo.getHost()
- + ":" + hostInfo.getPort() + "]");
+ +
NetUtils.getHostPortInAccessibleFormat(hostInfo.getHost(), hostInfo.getPort())
+ "]");
}
if (backend.isDecommissioned()) {
// already under decommission, ignore it
@@ -239,7 +239,7 @@ public class SystemHandler extends AlterHandler {
hostInfo.getPort());
if (backend == null) {
throw new DdlException("Backend does not exist["
- + hostInfo.getHost() + ":" + hostInfo.getPort() + "]");
+ +
NetUtils.getHostPortInAccessibleFormat(hostInfo.getHost(), hostInfo.getPort())
+ "]");
}
if (!backend.isDecommissioned()) {
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/analysis/AdminCancelRebalanceDiskStmt.java
b/fe/fe-core/src/main/java/org/apache/doris/analysis/AdminCancelRebalanceDiskStmt.java
index 93f687db404..648e7ab47f1 100644
---
a/fe/fe-core/src/main/java/org/apache/doris/analysis/AdminCancelRebalanceDiskStmt.java
+++
b/fe/fe-core/src/main/java/org/apache/doris/analysis/AdminCancelRebalanceDiskStmt.java
@@ -21,6 +21,7 @@ import org.apache.doris.catalog.Env;
import org.apache.doris.common.AnalysisException;
import org.apache.doris.common.ErrorCode;
import org.apache.doris.common.ErrorReport;
+import org.apache.doris.common.util.NetUtils;
import org.apache.doris.mysql.privilege.PrivPredicate;
import org.apache.doris.qe.ConnectContext;
import org.apache.doris.system.Backend;
@@ -39,7 +40,8 @@ public class AdminCancelRebalanceDiskStmt extends DdlStmt {
ImmutableMap<Long, Backend> backendsInfo =
Env.getCurrentSystemInfo().getIdToBackend();
Map<String, Long> backendsID = new HashMap<String, Long>();
for (Backend backend : backendsInfo.values()) {
- backendsID.put(backend.getHost() + ":" +
backend.getHeartbeatPort(), backend.getId());
+
backendsID.put(NetUtils.getHostPortInAccessibleFormat(backend.getHost(),
backend.getHeartbeatPort()),
+ backend.getId());
}
if (backends == null) {
for (Backend backend : backendsInfo.values()) {
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/analysis/AdminCleanTrashStmt.java
b/fe/fe-core/src/main/java/org/apache/doris/analysis/AdminCleanTrashStmt.java
index d399f0afbca..64f1cccf5b6 100644
---
a/fe/fe-core/src/main/java/org/apache/doris/analysis/AdminCleanTrashStmt.java
+++
b/fe/fe-core/src/main/java/org/apache/doris/analysis/AdminCleanTrashStmt.java
@@ -21,6 +21,7 @@ import org.apache.doris.catalog.Env;
import org.apache.doris.common.AnalysisException;
import org.apache.doris.common.ErrorCode;
import org.apache.doris.common.ErrorReport;
+import org.apache.doris.common.util.NetUtils;
import org.apache.doris.mysql.privilege.PrivPredicate;
import org.apache.doris.qe.ConnectContext;
import org.apache.doris.system.Backend;
@@ -39,7 +40,9 @@ public class AdminCleanTrashStmt extends DdlStmt {
ImmutableMap<Long, Backend> backendsInfo =
Env.getCurrentSystemInfo().getIdToBackend();
Map<String, Long> backendsID = new HashMap<String, Long>();
for (Backend backend : backendsInfo.values()) {
- backendsID.put(backend.getHost() + ":" +
backend.getHeartbeatPort(), backend.getId());
+ backendsID.put(
+ NetUtils.getHostPortInAccessibleFormat(backend.getHost(),
backend.getHeartbeatPort()),
+ backend.getId());
}
if (backends == null) {
for (Backend backend : backendsInfo.values()) {
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/analysis/AdminRebalanceDiskStmt.java
b/fe/fe-core/src/main/java/org/apache/doris/analysis/AdminRebalanceDiskStmt.java
index 2269f75aeee..69f230f33b6 100644
---
a/fe/fe-core/src/main/java/org/apache/doris/analysis/AdminRebalanceDiskStmt.java
+++
b/fe/fe-core/src/main/java/org/apache/doris/analysis/AdminRebalanceDiskStmt.java
@@ -21,6 +21,7 @@ import org.apache.doris.catalog.Env;
import org.apache.doris.common.AnalysisException;
import org.apache.doris.common.ErrorCode;
import org.apache.doris.common.ErrorReport;
+import org.apache.doris.common.util.NetUtils;
import org.apache.doris.mysql.privilege.PrivPredicate;
import org.apache.doris.qe.ConnectContext;
import org.apache.doris.system.Backend;
@@ -40,7 +41,9 @@ public class AdminRebalanceDiskStmt extends DdlStmt {
ImmutableMap<Long, Backend> backendsInfo =
Env.getCurrentSystemInfo().getIdToBackend();
Map<String, Long> backendsID = new HashMap<String, Long>();
for (Backend backend : backendsInfo.values()) {
- backendsID.put(backend.getHost() + ":" +
backend.getHeartbeatPort(), backend.getId());
+ backendsID.put(
+ NetUtils.getHostPortInAccessibleFormat(backend.getHost(),
backend.getHeartbeatPort()),
+ backend.getId());
}
if (backends == null) {
this.backends.addAll(backendsInfo.values());
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowTrashDiskStmt.java
b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowTrashDiskStmt.java
index 427a074e1ae..cdd3243dfc2 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowTrashDiskStmt.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowTrashDiskStmt.java
@@ -24,6 +24,7 @@ import org.apache.doris.common.AnalysisException;
import org.apache.doris.common.ErrorCode;
import org.apache.doris.common.ErrorReport;
import org.apache.doris.common.proc.TrashProcNode;
+import org.apache.doris.common.util.NetUtils;
import org.apache.doris.mysql.privilege.PrivPredicate;
import org.apache.doris.qe.ConnectContext;
import org.apache.doris.qe.ShowResultSetMetaData;
@@ -38,7 +39,7 @@ public class ShowTrashDiskStmt extends ShowStmt {
public ShowTrashDiskStmt(String backendQuery) {
ImmutableMap<Long, Backend> backendsInfo =
Env.getCurrentSystemInfo().getIdToBackend();
for (Backend backend : backendsInfo.values()) {
- String backendStr = String.valueOf(backend.getHost()) + ":" +
String.valueOf(backend.getHeartbeatPort());
+ String backendStr =
NetUtils.getHostPortInAccessibleFormat(backend.getHost(),
backend.getHeartbeatPort());
if (backendQuery.equals(backendStr)) {
this.backend = backend;
break;
diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/BrokerMgr.java
b/fe/fe-core/src/main/java/org/apache/doris/catalog/BrokerMgr.java
index 39c96c358d0..6595dfde66a 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/catalog/BrokerMgr.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/BrokerMgr.java
@@ -27,6 +27,7 @@ import org.apache.doris.common.io.Writable;
import org.apache.doris.common.proc.BaseProcResult;
import org.apache.doris.common.proc.ProcNodeInterface;
import org.apache.doris.common.proc.ProcResult;
+import org.apache.doris.common.util.NetUtils;
import org.apache.doris.common.util.TimeUtils;
import com.google.common.collect.ArrayListMultimap;
@@ -219,7 +220,8 @@ public class BrokerMgr {
List<FsBroker> addressList = brokerAddrsMap.get(pair.first);
for (FsBroker addr : addressList) {
if (addr.port == pair.second) {
- throw new DdlException("Broker(" + pair.first + ":" +
pair.second
+ throw new DdlException("Broker(" + NetUtils
+ .getHostPortInAccessibleFormat(pair.first,
pair.second)
+ ") has already in brokers.");
}
}
@@ -274,7 +276,8 @@ public class BrokerMgr {
}
}
if (!found) {
- throw new DdlException("Broker(" + pair.first + ":" +
pair.second + ") has not in brokers.");
+ throw new DdlException("Broker(" + NetUtils
+ .getHostPortInAccessibleFormat(pair.first,
pair.second) + ") has not in brokers.");
}
}
Env.getCurrentEnv().getEditLog().logDropBroker(new
ModifyBrokerInfo(name, droppedAddressList));
diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/Env.java
b/fe/fe-core/src/main/java/org/apache/doris/catalog/Env.java
index ca6d0ee0986..47ad2ec13e9 100755
--- a/fe/fe-core/src/main/java/org/apache/doris/catalog/Env.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/Env.java
@@ -2639,10 +2639,12 @@ public class Env {
try {
Frontend fe = checkFeExist(host, port);
if (fe == null) {
- throw new DdlException("frontend does not exist[" + host + ":"
+ port + "]");
+ throw new DdlException("frontend does not exist[" + NetUtils
+ .getHostPortInAccessibleFormat(host, port) + "]");
}
if (fe.getRole() != role) {
- throw new DdlException(role.toString() + " does not exist[" +
host + ":" + port + "]");
+ throw new DdlException(role.toString() + " does not exist[" +
NetUtils
+ .getHostPortInAccessibleFormat(host, port) + "]");
}
frontends.remove(fe.getNodeName());
removedFrontends.add(fe.getNodeName());
diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/FsBroker.java
b/fe/fe-core/src/main/java/org/apache/doris/catalog/FsBroker.java
index fd40606dde6..3f40088169e 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/catalog/FsBroker.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/FsBroker.java
@@ -19,6 +19,7 @@ package org.apache.doris.catalog;
import org.apache.doris.common.io.Text;
import org.apache.doris.common.io.Writable;
+import org.apache.doris.common.util.NetUtils;
import org.apache.doris.persist.gson.GsonUtils;
import org.apache.doris.system.BrokerHbResponse;
import org.apache.doris.system.HeartbeatResponse.HbStatus;
@@ -123,7 +124,7 @@ public class FsBroker implements Writable,
Comparable<FsBroker> {
@Override
public String toString() {
- return host + ":" + port;
+ return NetUtils.getHostPortInAccessibleFormat(host, port);
}
public static FsBroker readIn(DataInput in) throws IOException {
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/common/proc/TrashProcDir.java
b/fe/fe-core/src/main/java/org/apache/doris/common/proc/TrashProcDir.java
index d77c6cf5cad..18605b37c0e 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/common/proc/TrashProcDir.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/common/proc/TrashProcDir.java
@@ -22,6 +22,7 @@ import org.apache.doris.common.AnalysisException;
import org.apache.doris.common.ClientPool;
import org.apache.doris.common.Pair;
import org.apache.doris.common.util.DebugUtil;
+import org.apache.doris.common.util.NetUtils;
import org.apache.doris.system.Backend;
import org.apache.doris.thrift.BackendService;
import org.apache.doris.thrift.TNetworkAddress;
@@ -94,7 +95,7 @@ public class TrashProcDir implements ProcDirInterface {
List<String> backendInfo = new ArrayList<>();
backendInfo.add(String.valueOf(backend.getId()));
- backendInfo.add(backend.getHost() + ":" +
backend.getHeartbeatPort());
+
backendInfo.add(NetUtils.getHostPortInAccessibleFormat(backend.getHost(),
backend.getHeartbeatPort()));
if (trashUsedCapacityB != null) {
Pair<Double, String> trashUsedCapacity =
DebugUtil.getByteUint(trashUsedCapacityB);
backendInfo.add(DebugUtil.DECIMAL_FORMAT_SCALE_3.format(trashUsedCapacity.first)
+ " "
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/common/util/BrokerReader.java
b/fe/fe-core/src/main/java/org/apache/doris/common/util/BrokerReader.java
index 69183114108..592d9f94d11 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/common/util/BrokerReader.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/common/util/BrokerReader.java
@@ -100,7 +100,8 @@ public class BrokerReader {
}
public TBrokerFD open(String path) throws IOException {
- String clientId = FrontendOptions.getLocalHostAddress() + ":" +
Config.rpc_port;
+ String clientId = NetUtils
+
.getHostPortInAccessibleFormat(FrontendOptions.getLocalHostAddress(),
Config.rpc_port);
TBrokerOpenReaderRequest tOpenReaderRequest = new
TBrokerOpenReaderRequest(
TBrokerVersion.VERSION_ONE, path, 0, clientId,
brokerDesc.getProperties());
TBrokerOpenReaderResponse tOpenReaderResponse = null;
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/common/util/BrokerUtil.java
b/fe/fe-core/src/main/java/org/apache/doris/common/util/BrokerUtil.java
index 0cfaa6b8caf..360a59f63a8 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/common/util/BrokerUtil.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/common/util/BrokerUtil.java
@@ -217,7 +217,8 @@ public class BrokerUtil {
long fileSize = fileStatuses.get(0).getSize();
// open reader
- String clientId = FrontendOptions.getLocalHostAddress() + ":" +
Config.rpc_port;
+ String clientId = NetUtils
+
.getHostPortInAccessibleFormat(FrontendOptions.getLocalHostAddress(),
Config.rpc_port);
TBrokerOpenReaderRequest tOpenReaderRequest = new
TBrokerOpenReaderRequest(
TBrokerVersion.VERSION_ONE, path, 0, clientId,
brokerDesc.getProperties());
TBrokerOpenReaderResponse tOpenReaderResponse = null;
@@ -501,7 +502,8 @@ public class BrokerUtil {
address = BrokerUtil.getAddress(brokerDesc);
client = BrokerUtil.borrowClient(address);
try {
- String clientId = FrontendOptions.getLocalHostAddress() + ":"
+ Config.rpc_port;
+ String clientId = NetUtils
+
.getHostPortInAccessibleFormat(FrontendOptions.getLocalHostAddress(),
Config.rpc_port);
TBrokerOpenWriterRequest tOpenWriterRequest = new
TBrokerOpenWriterRequest(
TBrokerVersion.VERSION_ONE, brokerFilePath,
TBrokerOpenMode.APPEND,
clientId, brokerDesc.getProperties());
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/deploy/impl/AmbariDeployManager.java
b/fe/fe-core/src/main/java/org/apache/doris/deploy/impl/AmbariDeployManager.java
index e8e21436e65..6d4e7804a5a 100644
---
a/fe/fe-core/src/main/java/org/apache/doris/deploy/impl/AmbariDeployManager.java
+++
b/fe/fe-core/src/main/java/org/apache/doris/deploy/impl/AmbariDeployManager.java
@@ -20,6 +20,7 @@ package org.apache.doris.deploy.impl;
import org.apache.doris.catalog.Env;
import org.apache.doris.common.AnalysisException;
import org.apache.doris.common.Pair;
+import org.apache.doris.common.util.NetUtils;
import org.apache.doris.common.util.Util;
import org.apache.doris.deploy.DeployManager;
import org.apache.doris.system.SystemInfoService;
@@ -215,7 +216,8 @@ public class AmbariDeployManager extends DeployManager {
for (String hostname : hostnames) {
Pair<String, Integer> hostPort = null;
try {
- hostPort = SystemInfoService.validateHostAndPort(hostname +
":" + port);
+ hostPort = SystemInfoService.validateHostAndPort(NetUtils
+ .getHostPortInAccessibleFormat(hostname, port));
} catch (AnalysisException e) {
LOG.warn("Invalid host port format: {}:{}", hostname, port, e);
continue;
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/fs/operations/BrokerFileOperations.java
b/fe/fe-core/src/main/java/org/apache/doris/fs/operations/BrokerFileOperations.java
index 6cfdcec190c..68ec50c18af 100644
---
a/fe/fe-core/src/main/java/org/apache/doris/fs/operations/BrokerFileOperations.java
+++
b/fe/fe-core/src/main/java/org/apache/doris/fs/operations/BrokerFileOperations.java
@@ -20,6 +20,7 @@ package org.apache.doris.fs.operations;
import org.apache.doris.backup.Status;
import org.apache.doris.common.Config;
import org.apache.doris.common.util.BrokerUtil;
+import org.apache.doris.common.util.NetUtils;
import org.apache.doris.service.FrontendOptions;
import org.apache.doris.thrift.TBrokerCloseReaderRequest;
import org.apache.doris.thrift.TBrokerCloseWriterRequest;
@@ -53,7 +54,8 @@ public class BrokerFileOperations implements FileOperations {
}
public static String clientId() {
- return FrontendOptions.getLocalHostAddress() + ":" +
Config.edit_log_port;
+ return NetUtils
+
.getHostPortInAccessibleFormat(FrontendOptions.getLocalHostAddress(),
Config.edit_log_port);
}
@Override
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/httpv2/controller/BaseController.java
b/fe/fe-core/src/main/java/org/apache/doris/httpv2/controller/BaseController.java
index 4bd2eebf9af..d27310021b5 100644
---
a/fe/fe-core/src/main/java/org/apache/doris/httpv2/controller/BaseController.java
+++
b/fe/fe-core/src/main/java/org/apache/doris/httpv2/controller/BaseController.java
@@ -23,6 +23,7 @@ import org.apache.doris.catalog.Env;
import org.apache.doris.cluster.ClusterNamespace;
import org.apache.doris.common.AuthenticationException;
import org.apache.doris.common.Config;
+import org.apache.doris.common.util.NetUtils;
import org.apache.doris.httpv2.HttpAuthManager;
import org.apache.doris.httpv2.HttpAuthManager.SessionValue;
import org.apache.doris.httpv2.exception.UnauthorizedException;
@@ -299,9 +300,11 @@ public class BaseController {
protected String getCurrentFrontendURL() {
if (Config.enable_https) {
// this could be the result of redirection.
- return "https://" + FrontendOptions.getLocalHostAddress() + ":" +
Config.https_port;
+ return "https://" + NetUtils
+
.getHostPortInAccessibleFormat(FrontendOptions.getLocalHostAddress(),
Config.https_port);
} else {
- return "http://" + FrontendOptions.getLocalHostAddress() + ":" +
Config.http_port;
+ return "http://" + NetUtils
+
.getHostPortInAccessibleFormat(FrontendOptions.getLocalHostAddress(),
Config.http_port);
}
}
}
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/httpv2/rest/RestBaseController.java
b/fe/fe-core/src/main/java/org/apache/doris/httpv2/rest/RestBaseController.java
index ef660a5e28e..7b4b4dd5498 100644
---
a/fe/fe-core/src/main/java/org/apache/doris/httpv2/rest/RestBaseController.java
+++
b/fe/fe-core/src/main/java/org/apache/doris/httpv2/rest/RestBaseController.java
@@ -21,6 +21,7 @@ import org.apache.doris.analysis.UserIdentity;
import org.apache.doris.catalog.Env;
import org.apache.doris.cluster.ClusterNamespace;
import org.apache.doris.common.Config;
+import org.apache.doris.common.util.NetUtils;
import org.apache.doris.httpv2.controller.BaseController;
import org.apache.doris.httpv2.entity.ResponseEntityBuilder;
import org.apache.doris.httpv2.exception.UnauthorizedException;
@@ -200,7 +201,8 @@ public class RestBaseController extends BaseController {
String uri = request.getRequestURI();
String query = request.getQueryString();
query = query == null ? "" : query;
- String newUrl = "https://" + serverName + ":" + Config.https_port +
uri + "?" + query;
+ String newUrl = "https://" +
NetUtils.getHostPortInAccessibleFormat(serverName, Config.https_port) + uri +
"?"
+ + query;
LOG.info("redirect to new url: {}", newUrl);
RedirectView redirectView = new RedirectView(newUrl);
redirectView.setStatusCode(HttpStatus.TEMPORARY_REDIRECT);
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/httpv2/rest/TableQueryPlanAction.java
b/fe/fe-core/src/main/java/org/apache/doris/httpv2/rest/TableQueryPlanAction.java
index 0bd83617f12..d377ba2e5f6 100644
---
a/fe/fe-core/src/main/java/org/apache/doris/httpv2/rest/TableQueryPlanAction.java
+++
b/fe/fe-core/src/main/java/org/apache/doris/httpv2/rest/TableQueryPlanAction.java
@@ -28,6 +28,7 @@ import org.apache.doris.catalog.Table;
import org.apache.doris.catalog.TableIf;
import org.apache.doris.common.DorisHttpException;
import org.apache.doris.common.MetaNotFoundException;
+import org.apache.doris.common.util.NetUtils;
import org.apache.doris.httpv2.entity.ResponseEntityBuilder;
import org.apache.doris.httpv2.rest.manager.HttpUtils;
import org.apache.doris.mysql.privilege.PrivPredicate;
@@ -287,7 +288,8 @@ public class TableQueryPlanAction extends
RestBaseController {
TPaloScanRange scanRange =
scanRangeLocations.scan_range.palo_scan_range;
Node tabletRouting = new Node(Long.parseLong(scanRange.version), 0
/* schema hash is not used */);
for (TNetworkAddress address : scanRange.hosts) {
- tabletRouting.addRouting(address.hostname + ":" +
address.port);
+ tabletRouting.addRouting(NetUtils
+ .getHostPortInAccessibleFormat(address.hostname,
address.port));
}
result.put(String.valueOf(scanRange.tablet_id), tabletRouting);
}
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/httpv2/rest/manager/ClusterAction.java
b/fe/fe-core/src/main/java/org/apache/doris/httpv2/rest/manager/ClusterAction.java
index 983bafc8522..f6a09ce34b3 100644
---
a/fe/fe-core/src/main/java/org/apache/doris/httpv2/rest/manager/ClusterAction.java
+++
b/fe/fe-core/src/main/java/org/apache/doris/httpv2/rest/manager/ClusterAction.java
@@ -19,6 +19,7 @@ package org.apache.doris.httpv2.rest.manager;
import org.apache.doris.catalog.Env;
import org.apache.doris.common.Config;
+import org.apache.doris.common.util.NetUtils;
import org.apache.doris.httpv2.entity.ResponseEntityBuilder;
import org.apache.doris.httpv2.rest.RestBaseController;
import org.apache.doris.mysql.privilege.PrivPredicate;
@@ -63,8 +64,10 @@ public class ClusterAction extends RestBaseController {
.map(Frontend::getHost)
.collect(Collectors.toList());
- result.put("mysql", frontends.stream().map(ip -> ip + ":" +
Config.query_port).collect(Collectors.toList()));
- result.put("http", frontends.stream().map(ip -> ip + ":" +
Config.http_port).collect(Collectors.toList()));
+ result.put("mysql", frontends.stream().map(ip -> NetUtils
+ .getHostPortInAccessibleFormat(ip,
Config.query_port)).collect(Collectors.toList()));
+ result.put("http", frontends.stream().map(ip -> NetUtils
+ .getHostPortInAccessibleFormat(ip,
Config.http_port)).collect(Collectors.toList()));
return ResponseEntityBuilder.ok(result);
}
}
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/httpv2/rest/manager/NodeAction.java
b/fe/fe-core/src/main/java/org/apache/doris/httpv2/rest/manager/NodeAction.java
index 4818b6497b5..ba444474628 100644
---
a/fe/fe-core/src/main/java/org/apache/doris/httpv2/rest/manager/NodeAction.java
+++
b/fe/fe-core/src/main/java/org/apache/doris/httpv2/rest/manager/NodeAction.java
@@ -25,6 +25,7 @@ import org.apache.doris.common.Pair;
import org.apache.doris.common.ThreadPoolManager;
import org.apache.doris.common.proc.ProcResult;
import org.apache.doris.common.proc.ProcService;
+import org.apache.doris.common.util.NetUtils;
import org.apache.doris.common.util.PropertyAnalyzer;
import org.apache.doris.ha.FrontendNodeType;
import org.apache.doris.httpv2.entity.ResponseEntityBuilder;
@@ -190,7 +191,8 @@ public class NodeAction extends RestBaseController {
List<Long> beIds =
Env.getCurrentSystemInfo().getAllBackendIds(true);
if (!beIds.isEmpty()) {
Backend be =
Env.getCurrentSystemInfo().getBackend(beIds.get(0));
- String url = "http://" + be.getHost() + ":" + be.getHttpPort()
+ "/api/show_config";
+ String url = "http://" +
NetUtils.getHostPortInAccessibleFormat(be.getHost(), be.getHttpPort())
+ + "/api/show_config";
String questResult = HttpUtils.doGet(url, null);
List<List<String>> configs =
GsonUtils.GSON.fromJson(questResult, new TypeToken<List<List<String>>>() {
}.getType());
@@ -227,14 +229,15 @@ public class NodeAction extends RestBaseController {
}
private static List<String> getFeList() {
- return Env.getCurrentEnv().getFrontends(null).stream().map(fe ->
fe.getHost() + ":" + Config.http_port)
+ return Env.getCurrentEnv().getFrontends(null).stream()
+ .map(fe ->
NetUtils.getHostPortInAccessibleFormat(fe.getHost(), Config.http_port))
.collect(Collectors.toList());
}
private static List<String> getBeList() {
return
Env.getCurrentSystemInfo().getAllBackendIds(false).stream().map(beId -> {
Backend be = Env.getCurrentSystemInfo().getBackend(beId);
- return be.getHost() + ":" + be.getHttpPort();
+ return NetUtils.getHostPortInAccessibleFormat(be.getHost(),
be.getHttpPort());
}).collect(Collectors.toList());
}
@@ -357,8 +360,9 @@ public class NodeAction extends RestBaseController {
configInfoTotal.add(Lists.newArrayList());
Pair<String, Integer> hostPort = hostPorts.get(i);
- configRequestDoneSignal.addMark(hostPort.first + ":" +
hostPort.second, -1);
- String url = "http://" + hostPort.first + ":" + hostPort.second +
questPath;
+ String address =
NetUtils.getHostPortInAccessibleFormat(hostPort.first, hostPort.second);
+ configRequestDoneSignal.addMark(address, -1);
+ String url = "http://" + address + questPath;
httpExecutor.submit(
new HttpConfigInfoTask(url, hostPort, authorization,
nodeType, confNames, configRequestDoneSignal,
configInfoTotal.get(i)));
@@ -433,7 +437,8 @@ public class NodeAction extends RestBaseController {
addConfig(conf);
}
}
- configRequestDoneSignal.markedCountDown(hostPort.first + ":" +
hostPort.second, -1);
+ configRequestDoneSignal.markedCountDown(NetUtils
+ .getHostPortInAccessibleFormat(hostPort.first,
hostPort.second), -1);
} catch (Exception e) {
LOG.warn("get config from {}:{} failed.", hostPort.first,
hostPort.second, e);
configRequestDoneSignal.countDown();
@@ -441,7 +446,8 @@ public class NodeAction extends RestBaseController {
}
private void addConfig(List<String> conf) {
- conf.add(1, hostPort.first + ":" + hostPort.second);
+ conf.add(1, NetUtils
+ .getHostPortInAccessibleFormat(hostPort.first,
hostPort.second));
conf.add(2, nodeType);
config.add(conf);
}
@@ -518,7 +524,8 @@ public class NodeAction extends RestBaseController {
List<Map<String, String>> failedTotal) {
for (Map.Entry<String, String> entry : configs.entrySet()) {
Map<String, String> failed = Maps.newHashMap();
- addFailedConfig(entry.getKey(), entry.getValue(), hostPort.first +
":" + hostPort.second, err, failed);
+ addFailedConfig(entry.getKey(), entry.getValue(), NetUtils
+ .getHostPortInAccessibleFormat(hostPort.first,
hostPort.second), err, failed);
failedTotal.add(failed);
}
}
@@ -534,7 +541,8 @@ public class NodeAction extends RestBaseController {
for (SetConfigAction.ErrConfig errConfig :
setConfigEntity.getErrConfigs()) {
Map<String, String> failed = Maps.newHashMap();
addFailedConfig(errConfig.getConfigName(),
errConfig.getConfigValue(),
- hostPort.first + ":" + hostPort.second,
errConfig.getErrInfo(), failed);
+ NetUtils.getHostPortInAccessibleFormat(hostPort.first,
hostPort.second), errConfig.getErrInfo(),
+ failed);
failedTotal.add(failed);
}
}
@@ -800,7 +808,8 @@ public class NodeAction extends RestBaseController {
}
private String concatNodeConfig(String host, Integer port, String
configName, String configValue) {
- return host + ":" + port + ":" + configName + ":" + configValue;
+ return NetUtils
+ .getHostPortInAccessibleFormat(host, port) + ":" + configName
+ ":" + configValue;
}
private Map<String, String> parseNodeConfig(String nodeConfig) {
@@ -841,13 +850,15 @@ public class NodeAction extends RestBaseController {
JsonObject jsonObject =
JsonParser.parseString(response).getAsJsonObject();
String status = jsonObject.get("status").getAsString();
if (!status.equals("OK")) {
- addFailedConfig(configName, configValue, hostPort.first +
":" + hostPort.second,
+ addFailedConfig(configName, configValue, NetUtils
+ .getHostPortInAccessibleFormat(hostPort.first,
hostPort.second),
jsonObject.get("msg").getAsString(), failed);
}
beSetConfigDoneSignal.markedCountDown(
concatNodeConfig(hostPort.first, hostPort.second,
configName, configValue), -1);
} catch (Exception e) {
- LOG.warn("set be:{} config:{} failed.", hostPort.first + ":" +
hostPort.second,
+ LOG.warn("set be:{} config:{} failed.", NetUtils
+ .getHostPortInAccessibleFormat(hostPort.first,
hostPort.second),
configName + "=" + configValue, e);
beSetConfigDoneSignal.countDown();
}
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/httpv2/rest/manager/QueryProfileAction.java
b/fe/fe-core/src/main/java/org/apache/doris/httpv2/rest/manager/QueryProfileAction.java
index 524f6a57f89..8ad35da2dfa 100644
---
a/fe/fe-core/src/main/java/org/apache/doris/httpv2/rest/manager/QueryProfileAction.java
+++
b/fe/fe-core/src/main/java/org/apache/doris/httpv2/rest/manager/QueryProfileAction.java
@@ -26,6 +26,7 @@ import
org.apache.doris.common.proc.CurrentQueryStatementsProcNode;
import org.apache.doris.common.proc.ProcResult;
import org.apache.doris.common.profile.ProfileTreeNode;
import org.apache.doris.common.profile.ProfileTreePrinter;
+import org.apache.doris.common.util.NetUtils;
import org.apache.doris.common.util.ProfileManager;
import org.apache.doris.common.util.ProfileManager.ProfileElement;
import org.apache.doris.httpv2.entity.ResponseEntityBuilder;
@@ -177,7 +178,8 @@ public class QueryProfileAction extends RestBaseController {
// add node information
for (List<String> query : queries) {
- query.add(1, Env.getCurrentEnv().getSelfNode().getHost() + ":" +
Config.http_port);
+ query.add(1,
NetUtils.getHostPortInAccessibleFormat(Env.getCurrentEnv().getSelfNode().getHost(),
+ Config.http_port));
}
if (!Strings.isNullOrEmpty(search)) {
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/journal/bdbje/BDBJEJournal.java
b/fe/fe-core/src/main/java/org/apache/doris/journal/bdbje/BDBJEJournal.java
index dd574ab4d6e..70a22970b13 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/journal/bdbje/BDBJEJournal.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/journal/bdbje/BDBJEJournal.java
@@ -20,6 +20,7 @@ package org.apache.doris.journal.bdbje;
import org.apache.doris.catalog.Env;
import org.apache.doris.common.io.DataOutputBuffer;
import org.apache.doris.common.io.Writable;
+import org.apache.doris.common.util.NetUtils;
import org.apache.doris.common.util.Util;
import org.apache.doris.journal.Journal;
import org.apache.doris.journal.JournalCursor;
@@ -87,7 +88,7 @@ public class BDBJEJournal implements Journal { // CHECKSTYLE
IGNORE THIS LINE: B
// so that we do not need to update bdbje when the IP changes.
// WARNING:However, it is necessary to ensure that the hostname of the
node
// can be resolved and accessed by other nodes.
- selfNodeHostPort = selfNode.getHost() + ":" + selfNode.getPort();
+ selfNodeHostPort =
NetUtils.getHostPortInAccessibleFormat(selfNode.getHost(), selfNode.getPort());
}
/*
@@ -327,7 +328,7 @@ public class BDBJEJournal implements Journal { //
CHECKSTYLE IGNORE THIS LINE: B
bdbEnvironment = new BDBEnvironment();
HostInfo helperNode = Env.getServingEnv().getHelperNode();
- String helperHostPort = helperNode.getHost() + ":" +
helperNode.getPort();
+ String helperHostPort =
NetUtils.getHostPortInAccessibleFormat(helperNode.getHost(),
helperNode.getPort());
try {
bdbEnvironment.setup(dbEnv, selfNodeName, selfNodeHostPort,
helperHostPort,
Env.getServingEnv().isElectable());
@@ -411,7 +412,8 @@ public class BDBJEJournal implements Journal { //
CHECKSTYLE IGNORE THIS LINE: B
bdbEnvironment.close();
bdbEnvironment.setup(new File(environmentPath), selfNodeName,
selfNodeHostPort,
- helperNode.getHost() + ":" + helperNode.getPort(),
Env.getServingEnv().isElectable());
+ NetUtils.getHostPortInAccessibleFormat(helperNode.getHost(),
helperNode.getPort()),
+ Env.getServingEnv().isElectable());
}
@Override
diff --git a/fe/fe-core/src/main/java/org/apache/doris/ldap/LdapClient.java
b/fe/fe-core/src/main/java/org/apache/doris/ldap/LdapClient.java
index 427d2ece8ea..02894eaffd1 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/ldap/LdapClient.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/ldap/LdapClient.java
@@ -21,6 +21,7 @@ import org.apache.doris.catalog.Env;
import org.apache.doris.common.ErrorCode;
import org.apache.doris.common.ErrorReport;
import org.apache.doris.common.LdapConfig;
+import org.apache.doris.common.util.NetUtils;
import org.apache.doris.common.util.SymmetricEncryption;
import org.apache.doris.persist.LdapInfo;
@@ -63,7 +64,8 @@ public class LdapClient {
private void setLdapTemplateNoPool(String ldapPassword) {
LdapContextSource contextSource = new LdapContextSource();
- String url = "ldap://" + LdapConfig.ldap_host + ":" +
LdapConfig.ldap_port;
+ String url = "ldap://" + NetUtils
+ .getHostPortInAccessibleFormat(LdapConfig.ldap_host,
LdapConfig.ldap_port);
contextSource.setUrl(url);
contextSource.setUserDn(LdapConfig.ldap_admin_name);
@@ -74,7 +76,8 @@ public class LdapClient {
private void setLdapTemplatePool(String ldapPassword) {
LdapContextSource contextSource = new LdapContextSource();
- String url = "ldap://" + LdapConfig.ldap_host + ":" +
LdapConfig.ldap_port;
+ String url = "ldap://" + NetUtils
+ .getHostPortInAccessibleFormat(LdapConfig.ldap_host,
LdapConfig.ldap_port);
contextSource.setUrl(url);
contextSource.setUserDn(LdapConfig.ldap_admin_name);
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/master/ReportHandler.java
b/fe/fe-core/src/main/java/org/apache/doris/master/ReportHandler.java
index 244d0be6476..5e48d31bb44 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/master/ReportHandler.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/master/ReportHandler.java
@@ -42,6 +42,7 @@ import org.apache.doris.common.Config;
import org.apache.doris.common.MetaNotFoundException;
import org.apache.doris.common.Pair;
import org.apache.doris.common.util.Daemon;
+import org.apache.doris.common.util.NetUtils;
import org.apache.doris.common.util.TimeUtils;
import org.apache.doris.cooldown.CooldownConf;
import org.apache.doris.metric.GaugeMetric;
@@ -142,7 +143,8 @@ public class ReportHandler extends Daemon {
if (backend == null) {
tStatus.setStatusCode(TStatusCode.INTERNAL_ERROR);
List<String> errorMsgs = Lists.newArrayList();
- errorMsgs.add("backend[" + host + ":" + bePort + "] does not
exist.");
+ errorMsgs.add("backend[" + NetUtils
+ .getHostPortInAccessibleFormat(host, bePort) + "] does not
exist.");
tStatus.setErrorMsgs(errorMsgs);
return result;
}
diff --git a/fe/fe-core/src/main/java/org/apache/doris/metric/MetricRepo.java
b/fe/fe-core/src/main/java/org/apache/doris/metric/MetricRepo.java
index c9ceb2c3702..dfd772f5fd2 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/metric/MetricRepo.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/metric/MetricRepo.java
@@ -24,6 +24,7 @@ import org.apache.doris.catalog.Env;
import org.apache.doris.catalog.TabletInvertedIndex;
import org.apache.doris.common.Config;
import org.apache.doris.common.ThreadPoolManager;
+import org.apache.doris.common.util.NetUtils;
import org.apache.doris.load.EtlJobType;
import org.apache.doris.load.loadv2.JobState;
import org.apache.doris.load.loadv2.LoadManager;
@@ -619,7 +620,8 @@ public final class MetricRepo {
return (long) invertedIndex.getTabletNumByBackendId(beId);
}
};
- tabletNum.addLabel(new MetricLabel("backend", be.getHost() + ":" +
be.getHeartbeatPort()));
+ tabletNum.addLabel(new MetricLabel("backend",
+ NetUtils.getHostPortInAccessibleFormat(be.getHost(),
be.getHeartbeatPort())));
DORIS_METRIC_REGISTER.addMetrics(tabletNum);
// max compaction score of tablets on each backends
@@ -633,7 +635,8 @@ public final class MetricRepo {
return be.getTabletMaxCompactionScore();
}
};
- tabletMaxCompactionScore.addLabel(new MetricLabel("backend",
be.getHost() + ":" + be.getHeartbeatPort()));
+ tabletMaxCompactionScore.addLabel(new MetricLabel("backend",
+ NetUtils.getHostPortInAccessibleFormat(be.getHost(),
be.getHeartbeatPort())));
DORIS_METRIC_REGISTER.addMetrics(tabletMaxCompactionScore);
} // end for backends
diff --git a/fe/fe-core/src/main/java/org/apache/doris/mysql/MysqlChannel.java
b/fe/fe-core/src/main/java/org/apache/doris/mysql/MysqlChannel.java
index 0d24314204b..5eaee47fa4b 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/mysql/MysqlChannel.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/mysql/MysqlChannel.java
@@ -17,6 +17,7 @@
package org.apache.doris.mysql;
+import org.apache.doris.common.util.NetUtils;
import org.apache.doris.qe.ConnectContext;
import org.apache.doris.qe.ConnectProcessor;
@@ -99,7 +100,8 @@ public class MysqlChannel {
this.conn = connection;
if (connection.getPeerAddress() instanceof InetSocketAddress) {
InetSocketAddress address = (InetSocketAddress)
connection.getPeerAddress();
- remoteHostPortString = address.getHostString() + ":" +
address.getPort();
+ remoteHostPortString = NetUtils
+ .getHostPortInAccessibleFormat(address.getHostString(),
address.getPort());
remoteIp = address.getAddress().getHostAddress();
} else {
// Reach here, what's it?
diff --git a/fe/fe-core/src/main/java/org/apache/doris/qe/ShowExecutor.java
b/fe/fe-core/src/main/java/org/apache/doris/qe/ShowExecutor.java
index 5eb2e4187dd..d7adcf85ca7 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/qe/ShowExecutor.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/qe/ShowExecutor.java
@@ -170,6 +170,7 @@ import org.apache.doris.common.profile.ProfileTreePrinter;
import org.apache.doris.common.util.ListComparator;
import org.apache.doris.common.util.LogBuilder;
import org.apache.doris.common.util.LogKey;
+import org.apache.doris.common.util.NetUtils;
import org.apache.doris.common.util.OrderByPair;
import org.apache.doris.common.util.PrintableMap;
import org.apache.doris.common.util.ProfileManager;
@@ -1385,10 +1386,11 @@ public class ShowExecutor {
SystemInfoService infoService = Env.getCurrentSystemInfo();
Backend be = infoService.getBackendWithHttpPort(host, port);
if (be == null) {
- throw new AnalysisException(host + ":" + port + " is not a valid
backend");
+ throw new
AnalysisException(NetUtils.getHostPortInAccessibleFormat(host, port) + " is not
a valid backend");
}
if (!be.isAlive()) {
- throw new AnalysisException("Backend " + host + ":" + port + " is
not alive");
+ throw new AnalysisException(
+ "Backend " + NetUtils.getHostPortInAccessibleFormat(host,
port) + " is not alive");
}
if (!url.getPath().equals("/api/_load_error_log")) {
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/system/SystemInfoService.java
b/fe/fe-core/src/main/java/org/apache/doris/system/SystemInfoService.java
index 5cc6b36f87d..050e1cf94f7 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/system/SystemInfoService.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/system/SystemInfoService.java
@@ -231,7 +231,8 @@ public class SystemInfoService {
for (HostInfo hostInfo : hostInfos) {
// check is already exist
if (getBackendWithHeartbeatPort(hostInfo.getHost(),
hostInfo.getPort()) == null) {
- String backendIdentifier = hostInfo.getHost() + ":" +
hostInfo.getPort();
+ String backendIdentifier = NetUtils
+ .getHostPortInAccessibleFormat(hostInfo.getHost(),
hostInfo.getPort());
throw new DdlException("backend does not exists[" +
backendIdentifier + "]");
}
}
@@ -253,8 +254,8 @@ public class SystemInfoService {
public void dropBackend(String host, int heartbeatPort) throws
DdlException {
Backend droppedBackend = getBackendWithHeartbeatPort(host,
heartbeatPort);
if (droppedBackend == null) {
- throw new DdlException("backend does not exists[" + host
- + ":" + heartbeatPort + "]");
+ throw new DdlException("backend does not exists[" + NetUtils
+ .getHostPortInAccessibleFormat(host, heartbeatPort) + "]");
}
// update idToBackend
Map<Long, Backend> copiedBackends = Maps.newHashMap(idToBackendRef);
@@ -880,7 +881,8 @@ public class SystemInfoService {
public void modifyBackendHost(ModifyBackendHostNameClause clause) throws
UserException {
Backend be = getBackendWithHeartbeatPort(clause.getHost(),
clause.getPort());
if (be == null) {
- throw new DdlException("backend does not exists[" +
clause.getHost() + ":" + clause.getPort() + "]");
+ throw new DdlException("backend does not exists[" + NetUtils
+ .getHostPortInAccessibleFormat(clause.getHost(),
clause.getPort()) + "]");
}
if (be.getHost().equals(clause.getNewHost())) {
// no need to modify
@@ -897,7 +899,8 @@ public class SystemInfoService {
Backend be = getBackendWithHeartbeatPort(hostInfo.getHost(),
hostInfo.getPort());
if (be == null) {
throw new DdlException(
- "backend does not exists[" + hostInfo.getHost() + ":"
+ hostInfo.getPort() + "]");
+ "backend does not exists[" + NetUtils
+
.getHostPortInAccessibleFormat(hostInfo.getHost(), hostInfo.getPort()) + "]");
}
backends.add(be);
}
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/tablefunction/ExternalFileTableValuedFunction.java
b/fe/fe-core/src/main/java/org/apache/doris/tablefunction/ExternalFileTableValuedFunction.java
index 8fddb508466..1e89fd41a5d 100644
---
a/fe/fe-core/src/main/java/org/apache/doris/tablefunction/ExternalFileTableValuedFunction.java
+++
b/fe/fe-core/src/main/java/org/apache/doris/tablefunction/ExternalFileTableValuedFunction.java
@@ -37,6 +37,7 @@ import org.apache.doris.common.UserException;
import org.apache.doris.common.util.BrokerUtil;
import org.apache.doris.common.util.FileFormatConstants;
import org.apache.doris.common.util.FileFormatUtils;
+import org.apache.doris.common.util.NetUtils;
import org.apache.doris.common.util.Util;
import org.apache.doris.planner.PlanNodeId;
import org.apache.doris.planner.ScanNode;
@@ -326,7 +327,8 @@ public abstract class ExternalFileTableValuedFunction
extends TableValuedFunctio
errMsg = result.getStatus().getErrorMsgsList().get(0);
} else {
errMsg = "fetchTableStructureAsync failed. backend
address: "
- + address.getHostname() + ":" + address.getPort();
+ + NetUtils
+
.getHostPortInAccessibleFormat(address.getHostname(), address.getPort());
}
throw new AnalysisException(errMsg);
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]