diff --git a/fe/fe-core/src/main/java/org/apache/doris/external/elasticsearch/EsNodeInfo.java b/fe/fe-core/src/main/java/org/apache/doris/external/elasticsearch/EsNodeInfo.java index 1893c49734..706024c2ed 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/external/elasticsearch/EsNodeInfo.java +++ b/fe/fe-core/src/main/java/org/apache/doris/external/elasticsearch/EsNodeInfo.java @@ -110,7 +110,11 @@ public class EsNodeInfo { String[] scratch = seed.split(":"); int port = 80; if (scratch.length == 3) { - port = Integer.parseInt(scratch[2]); + String portStr = scratch[2]; + if (portStr.contains("/")) { + portStr = portStr.substring(0, portStr.indexOf('/')); + } + port = Integer.parseInt(portStr); } String remoteHost = scratch[0] + ":" + scratch[1]; this.name = remoteHost; diff --git a/fe/fe-core/src/test/java/org/apache/doris/external/elasticsearch/EsNodeInfoTest.java b/fe/fe-core/src/test/java/org/apache/doris/external/elasticsearch/EsNodeInfoTest.java index e44ad9322e..9350521b62 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/external/elasticsearch/EsNodeInfoTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/external/elasticsearch/EsNodeInfoTest.java @@ -43,4 +43,15 @@ public class EsNodeInfoTest extends EsTestCase { } } } + + @Test + public void testEsNodeInfo() { + EsNodeInfo node = new EsNodeInfo("0", "http://127.0.0.1:9200/"); + Assert.assertEquals("http://127.0.0.1", node.getHost()); + Assert.assertEquals(9200, node.getPublishAddress().getPort()); + node = new EsNodeInfo("0", "http://127.0.0.1:9200"); + Assert.assertEquals("http://127.0.0.1", node.getHost()); + Assert.assertEquals(9200, node.getPublishAddress().getPort()); + + } }