This is an automated email from the ASF dual-hosted git repository.
kirs pushed a commit to branch 1.3.6-prepare
in repository https://gitbox.apache.org/repos/asf/incubator-dolphinscheduler.git
The following commit(s) were added to refs/heads/1.3.6-prepare by this push:
new b14793d [1.3.6-prepare][Fix-5115][Server] Fix the registered address
of a server is the loopback address 127.0.0.1 (#5117)
b14793d is described below
commit b14793d4e5ad172ad41a95388392bc9d99ec2258
Author: Shiwen Cheng <[email protected]>
AuthorDate: Sun Mar 21 14:43:40 2021 +0800
[1.3.6-prepare][Fix-5115][Server] Fix the registered address of a server is
the loopback address 127.0.0.1 (#5117)
---
.../apache/dolphinscheduler/common/Constants.java | 11 +
.../dolphinscheduler/common/utils/NetUtils.java | 335 +++++++++++++++++++++
.../dolphinscheduler/common/utils/OSUtils.java | 52 ----
.../dolphinscheduler/common/os/OSUtilsTest.java | 16 +-
.../common/utils/NetUtilsTest.java | 89 ++++++
.../dolphinscheduler/common/utils/OSUtilsTest.java | 29 --
.../remote/utils/ChannelUtils.java | 12 +-
.../server/master/registry/MasterRegistry.java | 6 +-
.../master/runner/ConditionsTaskExecThread.java | 7 +-
.../master/runner/DependentTaskExecThread.java | 15 +-
.../master/runner/MasterSchedulerService.java | 3 +-
.../worker/processor/TaskExecuteProcessor.java | 20 +-
.../server/worker/registry/WorkerRegistry.java | 6 +-
.../dolphinscheduler/server/zk/ZKMasterClient.java | 4 +-
.../executor/NettyExecutorManagerTest.java | 7 +-
.../dispatch/host/RoundRobinHostManagerTest.java | 5 +-
.../server/master/registry/MasterRegistryTest.java | 4 +-
.../server/registry/ZookeeperNodeManagerTest.java | 13 +-
.../server/utils/ExecutionContextTestUtils.java | 5 +-
.../server/worker/registry/WorkerRegistryTest.java | 4 +-
pom.xml | 1 +
21 files changed, 503 insertions(+), 141 deletions(-)
diff --git
a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/Constants.java
b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/Constants.java
index e7c6b3c..aa01edd 100644
---
a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/Constants.java
+++
b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/Constants.java
@@ -1002,6 +1002,17 @@ public final class Constants {
public static final String START_END_DATE = "startDate,endDate";
/**
+ * Network system properties
+ */
+ public static final String DOLPHIN_SCHEDULER_PREFERRED_NETWORK_INTERFACE =
"dolphin.scheduler.network.interface.preferred";
+
+ /**
+ * Network IP gets priority, default inner outer
+ */
+ public static final String NETWORK_PRIORITY_STRATEGY =
"dolphin.scheduler.network.priority.strategy";
+
+
+ /**
* datasource encryption salt
*/
public static final String DATASOURCE_ENCRYPTION_SALT_DEFAULT = "!@#$%^&*";
diff --git
a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/NetUtils.java
b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/NetUtils.java
new file mode 100644
index 0000000..8a283c7
--- /dev/null
+++
b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/NetUtils.java
@@ -0,0 +1,335 @@
+/*
+ * 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.dolphinscheduler.common.utils;
+
+import static
org.apache.dolphinscheduler.common.Constants.DOLPHIN_SCHEDULER_PREFERRED_NETWORK_INTERFACE;
+
+import static java.util.Collections.emptyList;
+
+import org.apache.dolphinscheduler.common.Constants;
+
+import java.io.IOException;
+import java.net.Inet6Address;
+import java.net.InetAddress;
+import java.net.NetworkInterface;
+import java.net.SocketException;
+import java.net.UnknownHostException;
+import java.util.Enumeration;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Objects;
+import java.util.Optional;
+import java.util.regex.Pattern;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * NetUtils
+ */
+public class NetUtils {
+
+ private static final Pattern STS_PATTERN = Pattern.compile("-\\d+$"); //
StatefulSet pattern
+ private static final Pattern IP_PATTERN =
Pattern.compile("\\d{1,3}(\\.\\d{1,3}){3,5}$");
+ private static final String NETWORK_PRIORITY_DEFAULT = "default";
+ private static final String NETWORK_PRIORITY_INNER = "inner";
+ private static final String NETWORK_PRIORITY_OUTER = "outer";
+ private static final Logger logger =
LoggerFactory.getLogger(NetUtils.class);
+ private static InetAddress LOCAL_ADDRESS = null;
+ private static volatile String HOST_ADDRESS;
+
+ private NetUtils() {
+ throw new UnsupportedOperationException("Construct NetUtils");
+ }
+
+ /**
+ * get addr like host:port
+ * @return addr
+ */
+ public static String getAddr(String host, int port) {
+ return String.format("%s:%d", host, port);
+ }
+
+ /**
+ * get addr like host:port
+ * @return addr
+ */
+ public static String getAddr(int port) {
+ return getAddr(getHost(), port);
+ }
+
+ /**
+ * get host
+ * @return host
+ */
+ public static String getHost(InetAddress inetAddress) {
+ if (inetAddress != null) {
+ if (Constants.KUBERNETES_MODE) {
+ String canonicalHost = inetAddress.getCanonicalHostName();
+ if (!canonicalHost.contains(".") ||
IP_PATTERN.matcher(canonicalHost).matches()) {
+ String host = inetAddress.getHostName();
+ if (STS_PATTERN.matcher(host).find()) {
+ return String.format("%s.%s", host,
host.replaceFirst("\\d+$", "headless"));
+ }
+ }
+ return canonicalHost;
+ }
+ return inetAddress.getHostAddress();
+ }
+ return null;
+ }
+
+ public static String getHost() {
+ if (HOST_ADDRESS != null) {
+ return HOST_ADDRESS;
+ }
+
+ InetAddress address = getLocalAddress();
+ if (address != null) {
+ HOST_ADDRESS = getHost(address);
+ return HOST_ADDRESS;
+ }
+ return Constants.KUBERNETES_MODE ? "localhost" : "127.0.0.1";
+ }
+
+ private static InetAddress getLocalAddress() {
+ if (null != LOCAL_ADDRESS) {
+ return LOCAL_ADDRESS;
+ }
+ return getLocalAddress0();
+ }
+
+ /**
+ * Find first valid IP from local network card
+ *
+ * @return first valid local IP
+ */
+ private static synchronized InetAddress getLocalAddress0() {
+ if (null != LOCAL_ADDRESS) {
+ return LOCAL_ADDRESS;
+ }
+
+ InetAddress localAddress = null;
+ try {
+ NetworkInterface networkInterface = findNetworkInterface();
+ if (networkInterface != null) {
+ Enumeration<InetAddress> addresses =
networkInterface.getInetAddresses();
+ while (addresses.hasMoreElements()) {
+ Optional<InetAddress> addressOp =
toValidAddress(addresses.nextElement());
+ if (addressOp.isPresent()) {
+ try {
+ if (addressOp.get().isReachable(100)) {
+ LOCAL_ADDRESS = addressOp.get();
+ return LOCAL_ADDRESS;
+ }
+ } catch (IOException e) {
+ logger.warn("test address id reachable io
exception", e);
+ }
+ }
+ }
+ }
+
+ localAddress = InetAddress.getLocalHost();
+ } catch (UnknownHostException e) {
+ logger.warn("InetAddress get LocalHost exception", e);
+ }
+ Optional<InetAddress> addressOp = toValidAddress(localAddress);
+ if (addressOp.isPresent()) {
+ LOCAL_ADDRESS = addressOp.get();
+ }
+ return LOCAL_ADDRESS;
+ }
+
+ private static Optional<InetAddress> toValidAddress(InetAddress address) {
+ if (address instanceof Inet6Address) {
+ Inet6Address v6Address = (Inet6Address) address;
+ if (isPreferIPV6Address()) {
+ return Optional.ofNullable(normalizeV6Address(v6Address));
+ }
+ }
+ if (isValidV4Address(address)) {
+ return Optional.of(address);
+ }
+ return Optional.empty();
+ }
+
+ private static InetAddress normalizeV6Address(Inet6Address address) {
+ String addr = address.getHostAddress();
+ int i = addr.lastIndexOf('%');
+ if (i > 0) {
+ try {
+ return InetAddress.getByName(addr.substring(0, i) + '%' +
address.getScopeId());
+ } catch (UnknownHostException e) {
+ logger.debug("Unknown IPV6 address: ", e);
+ }
+ }
+ return address;
+ }
+
+ public static boolean isValidV4Address(InetAddress address) {
+
+ if (address == null || address.isLoopbackAddress()) {
+ return false;
+ }
+ String name = address.getHostAddress();
+ return (name != null
+ && IP_PATTERN.matcher(name).matches()
+ && !address.isAnyLocalAddress()
+ && !address.isLoopbackAddress());
+ }
+
+ /**
+ * Check if an ipv6 address
+ *
+ * @return true if it is reachable
+ */
+ private static boolean isPreferIPV6Address() {
+ return Boolean.getBoolean("java.net.preferIPv6Addresses");
+ }
+
+ /**
+ * Get the suitable {@link NetworkInterface}
+ *
+ * @return If no {@link NetworkInterface} is available , return
<code>null</code>
+ */
+ private static NetworkInterface findNetworkInterface() {
+
+ List<NetworkInterface> validNetworkInterfaces = emptyList();
+
+ try {
+ validNetworkInterfaces = getValidNetworkInterfaces();
+ } catch (SocketException e) {
+ logger.warn("ValidNetworkInterfaces exception", e);
+ }
+
+ NetworkInterface result = null;
+ // Try to specify config NetWork Interface
+ for (NetworkInterface networkInterface : validNetworkInterfaces) {
+ if (isSpecifyNetworkInterface(networkInterface)) {
+ result = networkInterface;
+ break;
+ }
+ }
+
+ if (null != result) {
+ return result;
+ }
+ return findAddress(validNetworkInterfaces);
+ }
+
+ /**
+ * Get the valid {@link NetworkInterface network interfaces}
+ *
+ * @throws SocketException SocketException if an I/O error occurs.
+ */
+ private static List<NetworkInterface> getValidNetworkInterfaces() throws
SocketException {
+ List<NetworkInterface> validNetworkInterfaces = new LinkedList<>();
+ Enumeration<NetworkInterface> interfaces =
NetworkInterface.getNetworkInterfaces();
+ while (interfaces.hasMoreElements()) {
+ NetworkInterface networkInterface = interfaces.nextElement();
+ if (ignoreNetworkInterface(networkInterface)) { // ignore
+ continue;
+ }
+ validNetworkInterfaces.add(networkInterface);
+ }
+ return validNetworkInterfaces;
+ }
+
+ /**
+ * @param networkInterface {@link NetworkInterface}
+ * @return if the specified {@link NetworkInterface} should be ignored,
return <code>true</code>
+ * @throws SocketException SocketException if an I/O error occurs.
+ */
+ public static boolean ignoreNetworkInterface(NetworkInterface
networkInterface) throws SocketException {
+ return networkInterface == null
+ || networkInterface.isLoopback()
+ || networkInterface.isVirtual()
+ || !networkInterface.isUp();
+ }
+
+ private static boolean isSpecifyNetworkInterface(NetworkInterface
networkInterface) {
+ String preferredNetworkInterface =
System.getProperty(DOLPHIN_SCHEDULER_PREFERRED_NETWORK_INTERFACE);
+ return Objects.equals(networkInterface.getDisplayName(),
preferredNetworkInterface);
+ }
+
+ private static NetworkInterface findAddress(List<NetworkInterface>
validNetworkInterfaces) {
+ if (validNetworkInterfaces.isEmpty()) {
+ return null;
+ }
+ String networkPriority =
PropertyUtils.getString(Constants.NETWORK_PRIORITY_STRATEGY,
NETWORK_PRIORITY_DEFAULT);
+ if (NETWORK_PRIORITY_DEFAULT.equalsIgnoreCase(networkPriority)) {
+ return findAddressByDefaultPolicy(validNetworkInterfaces);
+ } else if (NETWORK_PRIORITY_INNER.equalsIgnoreCase(networkPriority)) {
+ return findInnerAddress(validNetworkInterfaces);
+ } else if (NETWORK_PRIORITY_OUTER.equalsIgnoreCase(networkPriority)) {
+ return findOuterAddress(validNetworkInterfaces);
+ } else {
+ logger.error("There is no matching network card acquisition
policy!");
+ return null;
+ }
+ }
+
+ private static NetworkInterface
findAddressByDefaultPolicy(List<NetworkInterface> validNetworkInterfaces) {
+ NetworkInterface networkInterface;
+ networkInterface = findInnerAddress(validNetworkInterfaces);
+ if (networkInterface == null) {
+ networkInterface = findOuterAddress(validNetworkInterfaces);
+ if (networkInterface == null) {
+ networkInterface = validNetworkInterfaces.get(0);
+ }
+ }
+ return networkInterface;
+ }
+
+ /**
+ * Get the Intranet IP
+ *
+ * @return If no {@link NetworkInterface} is available , return
<code>null</code>
+ */
+ private static NetworkInterface findInnerAddress(List<NetworkInterface>
validNetworkInterfaces) {
+
+ NetworkInterface networkInterface = null;
+ for (NetworkInterface ni : validNetworkInterfaces) {
+ Enumeration<InetAddress> address = ni.getInetAddresses();
+ while (address.hasMoreElements()) {
+ InetAddress ip = address.nextElement();
+ if (ip.isSiteLocalAddress()
+ && !ip.isLoopbackAddress()) {
+ networkInterface = ni;
+ }
+ }
+ }
+ return networkInterface;
+ }
+
+ private static NetworkInterface findOuterAddress(List<NetworkInterface>
validNetworkInterfaces) {
+ NetworkInterface networkInterface = null;
+ for (NetworkInterface ni : validNetworkInterfaces) {
+ Enumeration<InetAddress> address = ni.getInetAddresses();
+ while (address.hasMoreElements()) {
+ InetAddress ip = address.nextElement();
+ if (!ip.isSiteLocalAddress()
+ && !ip.isLoopbackAddress()) {
+ networkInterface = ni;
+ }
+ }
+ }
+ return networkInterface;
+ }
+
+}
diff --git
a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/OSUtils.java
b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/OSUtils.java
index d39d2bd..e40a226 100644
---
a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/OSUtils.java
+++
b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/OSUtils.java
@@ -29,8 +29,6 @@ import java.lang.management.ManagementFactory;
import java.lang.management.OperatingSystemMXBean;
import java.lang.management.RuntimeMXBean;
import java.math.RoundingMode;
-import java.net.InetAddress;
-import java.net.UnknownHostException;
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.Arrays;
@@ -416,56 +414,6 @@ public class OSUtils {
}
/**
- * get local addr
- * @return addr like host:port
- */
- public static String getAddr(int port) {
- return getAddr(getHost(), port);
- }
-
- /**
- * get addr
- * @return addr like host:port
- */
- public static String getAddr(String host, int port) {
- return String.format("%s:%d", host, port);
- }
-
- /**
- * get local host
- * @return host
- */
- public static String getHost(){
- try {
- return getHost(InetAddress.getLocalHost());
- } catch (UnknownHostException e) {
- logger.error(e.getMessage(),e);
- }
- return null;
- }
-
- /**
- * get local host
- * @return host
- */
- public static String getHost(InetAddress inetAddress){
- if (inetAddress != null) {
- if (Constants.KUBERNETES_MODE) {
- String canonicalHost = inetAddress.getCanonicalHostName();
- if (!canonicalHost.contains(".") ||
IP_PATTERN.matcher(canonicalHost).matches()) {
- String host = inetAddress.getHostName();
- if (STS_PATTERN.matcher(host).find()) {
- return String.format("%s.%s", host, host.replaceFirst("\\d+$",
"headless"));
- }
- }
- return canonicalHost;
- }
- return inetAddress.getHostAddress();
- }
- return null;
- }
-
- /**
* whether is macOS
* @return true if mac
*/
diff --git
a/dolphinscheduler-common/src/test/java/org/apache/dolphinscheduler/common/os/OSUtilsTest.java
b/dolphinscheduler-common/src/test/java/org/apache/dolphinscheduler/common/os/OSUtilsTest.java
index 1815e48..bca3972 100644
---
a/dolphinscheduler-common/src/test/java/org/apache/dolphinscheduler/common/os/OSUtilsTest.java
+++
b/dolphinscheduler-common/src/test/java/org/apache/dolphinscheduler/common/os/OSUtilsTest.java
@@ -18,14 +18,15 @@ package org.apache.dolphinscheduler.common.os;
import org.apache.dolphinscheduler.common.utils.OSUtils;
-import org.junit.Test;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import oshi.hardware.GlobalMemory;
import java.math.RoundingMode;
import java.text.DecimalFormat;
+import org.junit.Test;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import oshi.hardware.GlobalMemory;
/**
* OSUtilsTest
@@ -34,13 +35,6 @@ public class OSUtilsTest {
private static Logger logger = LoggerFactory.getLogger(OSUtilsTest.class);
-
- @Test
- public void getHost(){
- logger.info(OSUtils.getHost());
- }
-
-
@Test
public void memoryUsage() {
logger.info("memoryUsage : {}", OSUtils.memoryUsage());//
0.3361799418926239
diff --git
a/dolphinscheduler-common/src/test/java/org/apache/dolphinscheduler/common/utils/NetUtilsTest.java
b/dolphinscheduler-common/src/test/java/org/apache/dolphinscheduler/common/utils/NetUtilsTest.java
new file mode 100644
index 0000000..23bdc7a
--- /dev/null
+++
b/dolphinscheduler-common/src/test/java/org/apache/dolphinscheduler/common/utils/NetUtilsTest.java
@@ -0,0 +1,89 @@
+/*
+ * 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.dolphinscheduler.common.utils;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+import org.apache.dolphinscheduler.common.CommonTest;
+import org.apache.dolphinscheduler.common.Constants;
+
+import java.net.InetAddress;
+
+import org.junit.Test;
+
+/**
+ * NetUtilsTest
+ */
+public class NetUtilsTest {
+
+ @Test
+ public void testGetAddr() {
+ assertEquals(NetUtils.getHost() + ":5678", NetUtils.getAddr(5678));
+ assertEquals("127.0.0.1:5678", NetUtils.getAddr("127.0.0.1", 5678));
+ assertEquals("localhost:1234", NetUtils.getAddr("localhost", 1234));
+ }
+
+ @Test
+ public void testGetHost() throws Exception {
+ InetAddress address = mock(InetAddress.class);
+
when(address.getCanonicalHostName()).thenReturn("dolphinscheduler-worker-0.dolphinscheduler-worker-headless.default.svc.cluster.local");
+ when(address.getHostName()).thenReturn("dolphinscheduler-worker-0");
+ when(address.getHostAddress()).thenReturn("172.17.0.15");
+ assertEquals("172.17.0.15", NetUtils.getHost(address));
+
CommonTest.setFinalStatic(Constants.class.getDeclaredField("KUBERNETES_MODE"),
true);
+
assertEquals("dolphinscheduler-worker-0.dolphinscheduler-worker-headless.default.svc.cluster.local",
NetUtils.getHost(address));
+ address = mock(InetAddress.class);
+
when(address.getCanonicalHostName()).thenReturn("dolphinscheduler-worker-0");
+ when(address.getHostName()).thenReturn("dolphinscheduler-worker-0");
+
CommonTest.setFinalStatic(Constants.class.getDeclaredField("KUBERNETES_MODE"),
true);
+
assertEquals("dolphinscheduler-worker-0.dolphinscheduler-worker-headless",
NetUtils.getHost(address));
+ }
+
+ @Test
+ public void testGetLocalHost() {
+ assertNotNull(NetUtils.getHost());
+ }
+
+ @Test
+ public void testIsValidAddress() {
+ assertFalse(NetUtils.isValidV4Address(null));
+ InetAddress address = mock(InetAddress.class);
+ when(address.isLoopbackAddress()).thenReturn(true);
+ assertFalse(NetUtils.isValidV4Address(address));
+ address = mock(InetAddress.class);
+ when(address.getHostAddress()).thenReturn("localhost");
+ assertFalse(NetUtils.isValidV4Address(address));
+ address = mock(InetAddress.class);
+ when(address.getHostAddress()).thenReturn("0.0.0.0");
+ when(address.isAnyLocalAddress()).thenReturn(true);
+ assertFalse(NetUtils.isValidV4Address(address));
+ address = mock(InetAddress.class);
+ when(address.getHostAddress()).thenReturn("127.0.0.1");
+ when(address.isLoopbackAddress()).thenReturn(true);
+ assertFalse(NetUtils.isValidV4Address(address));
+ address = mock(InetAddress.class);
+ when(address.getHostAddress()).thenReturn("1.2.3.4");
+ assertTrue(NetUtils.isValidV4Address(address));
+ }
+
+}
diff --git
a/dolphinscheduler-common/src/test/java/org/apache/dolphinscheduler/common/utils/OSUtilsTest.java
b/dolphinscheduler-common/src/test/java/org/apache/dolphinscheduler/common/utils/OSUtilsTest.java
index 39c9bf8..9a6cf0d 100644
---
a/dolphinscheduler-common/src/test/java/org/apache/dolphinscheduler/common/utils/OSUtilsTest.java
+++
b/dolphinscheduler-common/src/test/java/org/apache/dolphinscheduler/common/utils/OSUtilsTest.java
@@ -16,17 +16,12 @@
*/
package org.apache.dolphinscheduler.common.utils;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
-
-import org.apache.dolphinscheduler.common.CommonTest;
import org.apache.dolphinscheduler.common.Constants;
import org.apache.commons.configuration.Configuration;
import org.apache.commons.configuration.PropertiesConfiguration;
import java.io.IOException;
-import java.net.InetAddress;
import java.util.List;
import org.junit.Assert;
@@ -95,30 +90,6 @@ public class OSUtilsTest {
Assert.assertNotEquals(0, processId);
}
@Test
- public void getAddr(){
- Assert.assertEquals(OSUtils.getHost() + ":5678",
OSUtils.getAddr(5678));
- Assert.assertEquals("127.0.0.1:5678", OSUtils.getAddr("127.0.0.1",
5678));
- Assert.assertEquals("localhost:1234", OSUtils.getAddr("localhost",
1234));
- }
- @Test
- public void getHost() throws Exception {
- String host = OSUtils.getHost();
- Assert.assertNotNull(host);
- Assert.assertNotEquals("", host);
- InetAddress address = mock(InetAddress.class);
-
when(address.getCanonicalHostName()).thenReturn("dolphinscheduler-worker-0.dolphinscheduler-worker-headless.default.svc.cluster.local");
- when(address.getHostName()).thenReturn("dolphinscheduler-worker-0");
- when(address.getHostAddress()).thenReturn("172.17.0.15");
- Assert.assertEquals("172.17.0.15", OSUtils.getHost(address));
-
CommonTest.setFinalStatic(Constants.class.getDeclaredField("KUBERNETES_MODE"),
true);
-
Assert.assertEquals("dolphinscheduler-worker-0.dolphinscheduler-worker-headless.default.svc.cluster.local",
OSUtils.getHost(address));
- address = mock(InetAddress.class);
-
when(address.getCanonicalHostName()).thenReturn("dolphinscheduler-worker-0");
- when(address.getHostName()).thenReturn("dolphinscheduler-worker-0");
-
CommonTest.setFinalStatic(Constants.class.getDeclaredField("KUBERNETES_MODE"),
true);
-
Assert.assertEquals("dolphinscheduler-worker-0.dolphinscheduler-worker-headless",
OSUtils.getHost(address));
- }
- @Test
public void checkResource(){
boolean resource = OSUtils.checkResource(100,0);
Assert.assertTrue(resource);
diff --git
a/dolphinscheduler-remote/src/main/java/org/apache/dolphinscheduler/remote/utils/ChannelUtils.java
b/dolphinscheduler-remote/src/main/java/org/apache/dolphinscheduler/remote/utils/ChannelUtils.java
index bfa3082..65d8e78 100644
---
a/dolphinscheduler-remote/src/main/java/org/apache/dolphinscheduler/remote/utils/ChannelUtils.java
+++
b/dolphinscheduler-remote/src/main/java/org/apache/dolphinscheduler/remote/utils/ChannelUtils.java
@@ -16,12 +16,12 @@
*/
package org.apache.dolphinscheduler.remote.utils;
-import org.apache.dolphinscheduler.common.utils.OSUtils;
-
-import io.netty.channel.Channel;
+import org.apache.dolphinscheduler.common.utils.NetUtils;
import java.net.InetSocketAddress;
+import io.netty.channel.Channel;
+
/**
* channel utils
*/
@@ -34,7 +34,7 @@ public class ChannelUtils {
* @return local address
*/
public static String getLocalAddress(Channel channel){
- return
OSUtils.getHost(((InetSocketAddress)channel.localAddress()).getAddress());
+ return
NetUtils.getHost(((InetSocketAddress)channel.localAddress()).getAddress());
}
/**
@@ -43,7 +43,7 @@ public class ChannelUtils {
* @return remote address
*/
public static String getRemoteAddress(Channel channel){
- return
OSUtils.getHost(((InetSocketAddress)channel.remoteAddress()).getAddress());
+ return
NetUtils.getHost(((InetSocketAddress)channel.remoteAddress()).getAddress());
}
/**
@@ -53,7 +53,7 @@ public class ChannelUtils {
*/
public static Host toAddress(Channel channel){
InetSocketAddress socketAddress =
((InetSocketAddress)channel.remoteAddress());
- return new Host(OSUtils.getHost(socketAddress.getAddress()),
socketAddress.getPort());
+ return new Host(NetUtils.getHost(socketAddress.getAddress()),
socketAddress.getPort());
}
}
diff --git
a/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/registry/MasterRegistry.java
b/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/registry/MasterRegistry.java
index a865809..c24302a 100644
---
a/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/registry/MasterRegistry.java
+++
b/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/registry/MasterRegistry.java
@@ -19,7 +19,7 @@ package org.apache.dolphinscheduler.server.master.registry;
import org.apache.dolphinscheduler.common.Constants;
import org.apache.dolphinscheduler.common.utils.DateUtils;
-import org.apache.dolphinscheduler.common.utils.OSUtils;
+import org.apache.dolphinscheduler.common.utils.NetUtils;
import org.apache.dolphinscheduler.remote.utils.NamedThreadFactory;
import org.apache.dolphinscheduler.server.master.config.MasterConfig;
import org.apache.dolphinscheduler.server.registry.HeartBeatTask;
@@ -81,7 +81,7 @@ public class MasterRegistry {
* registry
*/
public void registry() {
- String address = OSUtils.getHost();
+ String address = NetUtils.getHost();
String localNodePath = getMasterPath();
zookeeperRegistryCenter.getRegisterOperator().persistEphemeral(localNodePath,
"");
zookeeperRegistryCenter.getRegisterOperator().getZkClient().getConnectionStateListenable().addListener(
@@ -133,7 +133,7 @@ public class MasterRegistry {
* @return
*/
private String getLocalAddress() {
- return OSUtils.getAddr(masterConfig.getListenPort());
+ return NetUtils.getAddr(masterConfig.getListenPort());
}
/**
diff --git
a/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/runner/ConditionsTaskExecThread.java
b/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/runner/ConditionsTaskExecThread.java
index 53e0f0b..6654d0e 100644
---
a/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/runner/ConditionsTaskExecThread.java
+++
b/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/runner/ConditionsTaskExecThread.java
@@ -25,9 +25,8 @@ import
org.apache.dolphinscheduler.common.task.dependent.DependentParameters;
import org.apache.dolphinscheduler.common.utils.DependentUtils;
import org.apache.dolphinscheduler.common.utils.JSONUtils;
import org.apache.dolphinscheduler.common.utils.LoggerUtils;
-import org.apache.dolphinscheduler.common.utils.OSUtils;
+import org.apache.dolphinscheduler.common.utils.NetUtils;
import org.apache.dolphinscheduler.dao.entity.TaskInstance;
-import org.slf4j.LoggerFactory;
import java.util.ArrayList;
import java.util.Date;
@@ -35,6 +34,8 @@ import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
+import org.slf4j.LoggerFactory;
+
public class ConditionsTaskExecThread extends MasterBaseTaskExecThread {
/**
@@ -122,7 +123,7 @@ public class ConditionsTaskExecThread extends
MasterBaseTaskExecThread {
private void initTaskParameters() {
this.taskInstance.setLogPath(getTaskLogPath(taskInstance));
-
this.taskInstance.setHost(OSUtils.getAddr(masterConfig.getListenPort()));
+
this.taskInstance.setHost(NetUtils.getAddr(masterConfig.getListenPort()));
taskInstance.setState(ExecutionStatus.RUNNING_EXECUTION);
taskInstance.setStartTime(new Date());
this.processService.saveTaskInstance(taskInstance);
diff --git
a/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/runner/DependentTaskExecThread.java
b/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/runner/DependentTaskExecThread.java
index 68d8365..117aa44 100644
---
a/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/runner/DependentTaskExecThread.java
+++
b/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/runner/DependentTaskExecThread.java
@@ -16,6 +16,8 @@
*/
package org.apache.dolphinscheduler.server.master.runner;
+import static org.apache.dolphinscheduler.common.Constants.DEPENDENT_SPLIT;
+
import org.apache.dolphinscheduler.common.Constants;
import org.apache.dolphinscheduler.common.enums.DependResult;
import org.apache.dolphinscheduler.common.enums.ExecutionStatus;
@@ -25,14 +27,17 @@ import org.apache.dolphinscheduler.common.thread.Stopper;
import org.apache.dolphinscheduler.common.utils.DependentUtils;
import org.apache.dolphinscheduler.common.utils.JSONUtils;
import org.apache.dolphinscheduler.common.utils.LoggerUtils;
-import org.apache.dolphinscheduler.common.utils.OSUtils;
+import org.apache.dolphinscheduler.common.utils.NetUtils;
import org.apache.dolphinscheduler.dao.entity.TaskInstance;
import org.apache.dolphinscheduler.server.utils.DependentExecute;
-import org.slf4j.LoggerFactory;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
-import static org.apache.dolphinscheduler.common.Constants.DEPENDENT_SPLIT;
+import org.slf4j.LoggerFactory;
public class DependentTaskExecThread extends MasterBaseTaskExecThread {
@@ -174,7 +179,7 @@ public class DependentTaskExecThread extends
MasterBaseTaskExecThread {
private void initTaskParameters() {
taskInstance.setLogPath(getTaskLogPath(taskInstance));
- taskInstance.setHost(OSUtils.getAddr(masterConfig.getListenPort()));
+ taskInstance.setHost(NetUtils.getAddr(masterConfig.getListenPort()));
taskInstance.setState(ExecutionStatus.RUNNING_EXECUTION);
taskInstance.setStartTime(new Date());
processService.updateTaskInstance(taskInstance);
diff --git
a/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/runner/MasterSchedulerService.java
b/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/runner/MasterSchedulerService.java
index cd18c46..2462f20 100644
---
a/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/runner/MasterSchedulerService.java
+++
b/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/runner/MasterSchedulerService.java
@@ -19,6 +19,7 @@ package org.apache.dolphinscheduler.server.master.runner;
import org.apache.dolphinscheduler.common.Constants;
import org.apache.dolphinscheduler.common.thread.Stopper;
import org.apache.dolphinscheduler.common.thread.ThreadUtils;
+import org.apache.dolphinscheduler.common.utils.NetUtils;
import org.apache.dolphinscheduler.common.utils.OSUtils;
import org.apache.dolphinscheduler.dao.entity.Command;
import org.apache.dolphinscheduler.dao.entity.ProcessInstance;
@@ -171,6 +172,6 @@ public class MasterSchedulerService extends Thread {
}
private String getLocalAddress() {
- return OSUtils.getAddr(masterConfig.getListenPort());
+ return NetUtils.getAddr(masterConfig.getListenPort());
}
}
diff --git
a/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/worker/processor/TaskExecuteProcessor.java
b/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/worker/processor/TaskExecuteProcessor.java
index cc17457..09e2f63 100644
---
a/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/worker/processor/TaskExecuteProcessor.java
+++
b/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/worker/processor/TaskExecuteProcessor.java
@@ -17,10 +17,6 @@
package org.apache.dolphinscheduler.server.worker.processor;
-import ch.qos.logback.classic.LoggerContext;
-import ch.qos.logback.classic.sift.SiftingAppender;
-import com.alibaba.fastjson.JSONObject;
-import io.netty.channel.Channel;
import org.apache.dolphinscheduler.common.Constants;
import org.apache.dolphinscheduler.common.enums.Event;
import org.apache.dolphinscheduler.common.enums.ExecutionStatus;
@@ -28,7 +24,7 @@ import org.apache.dolphinscheduler.common.enums.TaskType;
import org.apache.dolphinscheduler.common.thread.ThreadUtils;
import org.apache.dolphinscheduler.common.utils.FileUtils;
import org.apache.dolphinscheduler.common.utils.LoggerUtils;
-import org.apache.dolphinscheduler.common.utils.OSUtils;
+import org.apache.dolphinscheduler.common.utils.NetUtils;
import org.apache.dolphinscheduler.common.utils.Preconditions;
import org.apache.dolphinscheduler.remote.command.Command;
import org.apache.dolphinscheduler.remote.command.CommandType;
@@ -45,13 +41,19 @@ import
org.apache.dolphinscheduler.server.worker.config.WorkerConfig;
import org.apache.dolphinscheduler.server.worker.runner.TaskExecuteThread;
import org.apache.dolphinscheduler.service.bean.SpringApplicationContext;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
import java.util.Date;
import java.util.Optional;
import java.util.concurrent.ExecutorService;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import com.alibaba.fastjson.JSONObject;
+
+import ch.qos.logback.classic.LoggerContext;
+import ch.qos.logback.classic.sift.SiftingAppender;
+import io.netty.channel.Channel;
+
/**
* worker request processor
*/
@@ -126,7 +128,7 @@ public class TaskExecuteProcessor implements
NettyRequestProcessor {
taskExecutionContext.getProcessInstanceId(),
taskExecutionContext.getTaskInstanceId()));
-
taskExecutionContext.setHost(OSUtils.getAddr(workerConfig.getListenPort()));
+
taskExecutionContext.setHost(NetUtils.getAddr(workerConfig.getListenPort()));
taskExecutionContext.setStartTime(new Date());
taskExecutionContext.setLogPath(getTaskLogPath(taskExecutionContext));
diff --git
a/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/worker/registry/WorkerRegistry.java
b/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/worker/registry/WorkerRegistry.java
index d7b1fc0..e9eb7d3 100644
---
a/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/worker/registry/WorkerRegistry.java
+++
b/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/worker/registry/WorkerRegistry.java
@@ -22,7 +22,7 @@ import static
org.apache.dolphinscheduler.common.Constants.SLASH;
import org.apache.dolphinscheduler.common.Constants;
import org.apache.dolphinscheduler.common.utils.DateUtils;
-import org.apache.dolphinscheduler.common.utils.OSUtils;
+import org.apache.dolphinscheduler.common.utils.NetUtils;
import org.apache.dolphinscheduler.common.utils.StringUtils;
import org.apache.dolphinscheduler.remote.utils.NamedThreadFactory;
import org.apache.dolphinscheduler.server.registry.HeartBeatTask;
@@ -98,7 +98,7 @@ public class WorkerRegistry {
* registry
*/
public void registry() {
- String address = OSUtils.getHost();
+ String address = NetUtils.getHost();
Set<String> workerZkPaths = getWorkerZkPaths();
int workerHeartbeatInterval =
workerConfig.getWorkerHeartbeatInterval();
@@ -172,7 +172,7 @@ public class WorkerRegistry {
* @return local address
*/
private String getLocalAddress() {
- return OSUtils.getAddr(workerConfig.getListenPort());
+ return NetUtils.getAddr(workerConfig.getListenPort());
}
}
diff --git
a/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/zk/ZKMasterClient.java
b/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/zk/ZKMasterClient.java
index ae3f993..fc96949 100644
---
a/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/zk/ZKMasterClient.java
+++
b/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/zk/ZKMasterClient.java
@@ -24,7 +24,7 @@ import
org.apache.dolphinscheduler.common.enums.ExecutionStatus;
import org.apache.dolphinscheduler.common.enums.ZKNodeType;
import org.apache.dolphinscheduler.common.model.Server;
import org.apache.dolphinscheduler.common.thread.ThreadUtils;
-import org.apache.dolphinscheduler.common.utils.OSUtils;
+import org.apache.dolphinscheduler.common.utils.NetUtils;
import org.apache.dolphinscheduler.dao.entity.ProcessInstance;
import org.apache.dolphinscheduler.dao.entity.TaskInstance;
import org.apache.dolphinscheduler.server.builder.TaskExecutionContextBuilder;
@@ -90,7 +90,7 @@ public class ZKMasterClient extends AbstractZKClient {
// init system znode
this.initSystemZNode();
- while (!checkZKNodeExists(OSUtils.getHost(), ZKNodeType.MASTER)) {
+ while (!checkZKNodeExists(NetUtils.getHost(), ZKNodeType.MASTER)) {
ThreadUtils.sleep(SLEEP_TIME_MILLIS);
}
// startup tolerant
diff --git
a/dolphinscheduler-server/src/test/java/org/apache/dolphinscheduler/server/master/dispatch/executor/NettyExecutorManagerTest.java
b/dolphinscheduler-server/src/test/java/org/apache/dolphinscheduler/server/master/dispatch/executor/NettyExecutorManagerTest.java
index 98d58a8..1ecc2f3 100644
---
a/dolphinscheduler-server/src/test/java/org/apache/dolphinscheduler/server/master/dispatch/executor/NettyExecutorManagerTest.java
+++
b/dolphinscheduler-server/src/test/java/org/apache/dolphinscheduler/server/master/dispatch/executor/NettyExecutorManagerTest.java
@@ -17,7 +17,7 @@
package org.apache.dolphinscheduler.server.master.dispatch.executor;
import org.apache.dolphinscheduler.common.enums.CommandType;
-import org.apache.dolphinscheduler.common.utils.OSUtils;
+import org.apache.dolphinscheduler.common.utils.NetUtils;
import org.apache.dolphinscheduler.dao.entity.ProcessDefinition;
import org.apache.dolphinscheduler.dao.entity.ProcessInstance;
import org.apache.dolphinscheduler.dao.entity.TaskInstance;
@@ -39,6 +39,7 @@ import org.apache.dolphinscheduler.server.zk.SpringZKServer;
import org.apache.dolphinscheduler.service.bean.SpringApplicationContext;
import org.apache.dolphinscheduler.service.zk.ZookeeperCachedOperator;
import org.apache.dolphinscheduler.service.zk.ZookeeperConfig;
+
import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -78,7 +79,7 @@ public class NettyExecutorManagerTest {
.buildProcessDefinitionRelatedInfo(processDefinition)
.create();
ExecutionContext executionContext = new
ExecutionContext(context.toCommand(), ExecutorType.WORKER);
-
executionContext.setHost(Host.of(OSUtils.getAddr(serverConfig.getListenPort())));
+
executionContext.setHost(Host.of(NetUtils.getAddr(serverConfig.getListenPort())));
Boolean execute = nettyExecutorManager.execute(executionContext);
Assert.assertTrue(execute);
nettyRemotingServer.close();
@@ -97,7 +98,7 @@ public class NettyExecutorManagerTest {
.buildProcessDefinitionRelatedInfo(processDefinition)
.create();
ExecutionContext executionContext = new
ExecutionContext(context.toCommand(), ExecutorType.WORKER);
- executionContext.setHost(Host.of(OSUtils.getAddr(OSUtils.getHost(),
4444)));
+ executionContext.setHost(Host.of(NetUtils.getAddr(4444)));
nettyExecutorManager.execute(executionContext);
}
diff --git
a/dolphinscheduler-server/src/test/java/org/apache/dolphinscheduler/server/master/dispatch/host/RoundRobinHostManagerTest.java
b/dolphinscheduler-server/src/test/java/org/apache/dolphinscheduler/server/master/dispatch/host/RoundRobinHostManagerTest.java
index 98f81fe..a06dbce 100644
---
a/dolphinscheduler-server/src/test/java/org/apache/dolphinscheduler/server/master/dispatch/host/RoundRobinHostManagerTest.java
+++
b/dolphinscheduler-server/src/test/java/org/apache/dolphinscheduler/server/master/dispatch/host/RoundRobinHostManagerTest.java
@@ -17,7 +17,7 @@
package org.apache.dolphinscheduler.server.master.dispatch.host;
-import org.apache.dolphinscheduler.common.utils.OSUtils;
+import org.apache.dolphinscheduler.common.utils.NetUtils;
import org.apache.dolphinscheduler.common.utils.StringUtils;
import org.apache.dolphinscheduler.remote.utils.Host;
import
org.apache.dolphinscheduler.server.master.dispatch.context.ExecutionContext;
@@ -30,6 +30,7 @@ import
org.apache.dolphinscheduler.server.worker.registry.WorkerRegistry;
import org.apache.dolphinscheduler.server.zk.SpringZKServer;
import org.apache.dolphinscheduler.service.zk.ZookeeperCachedOperator;
import org.apache.dolphinscheduler.service.zk.ZookeeperConfig;
+
import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -73,6 +74,6 @@ public class RoundRobinHostManagerTest {
ExecutionContext context =
ExecutionContextTestUtils.getExecutionContext(10000);
Host host = roundRobinHostManager.select(context);
Assert.assertTrue(StringUtils.isNotEmpty(host.getAddress()));
-
Assert.assertTrue(host.getAddress().equalsIgnoreCase(OSUtils.getAddr(workerConfig.getListenPort())));
+
Assert.assertTrue(host.getAddress().equalsIgnoreCase(NetUtils.getAddr(workerConfig.getListenPort())));
}
}
diff --git
a/dolphinscheduler-server/src/test/java/org/apache/dolphinscheduler/server/master/registry/MasterRegistryTest.java
b/dolphinscheduler-server/src/test/java/org/apache/dolphinscheduler/server/master/registry/MasterRegistryTest.java
index 6fd5a73..26c004d 100644
---
a/dolphinscheduler-server/src/test/java/org/apache/dolphinscheduler/server/master/registry/MasterRegistryTest.java
+++
b/dolphinscheduler-server/src/test/java/org/apache/dolphinscheduler/server/master/registry/MasterRegistryTest.java
@@ -19,7 +19,7 @@ package org.apache.dolphinscheduler.server.master.registry;
import static
org.apache.dolphinscheduler.common.Constants.HEARTBEAT_FOR_ZOOKEEPER_INFO_LENGTH;
-import org.apache.dolphinscheduler.common.utils.OSUtils;
+import org.apache.dolphinscheduler.common.utils.NetUtils;
import org.apache.dolphinscheduler.remote.utils.Constants;
import org.apache.dolphinscheduler.server.master.config.MasterConfig;
import org.apache.dolphinscheduler.server.registry.ZookeeperRegistryCenter;
@@ -60,7 +60,7 @@ public class MasterRegistryTest {
masterRegistry.registry();
String masterPath = zookeeperRegistryCenter.getMasterPath();
TimeUnit.SECONDS.sleep(masterConfig.getMasterHeartbeatInterval() + 2);
//wait heartbeat info write into zk node
- String masterNodePath = masterPath + "/" +
OSUtils.getAddr(Constants.LOCAL_ADDRESS, masterConfig.getListenPort());
+ String masterNodePath = masterPath + "/" +
NetUtils.getAddr(Constants.LOCAL_ADDRESS, masterConfig.getListenPort());
String heartbeat =
zookeeperRegistryCenter.getRegisterOperator().get(masterNodePath);
Assert.assertEquals(HEARTBEAT_FOR_ZOOKEEPER_INFO_LENGTH,
heartbeat.split(",").length);
masterRegistry.unRegistry();
diff --git
a/dolphinscheduler-server/src/test/java/org/apache/dolphinscheduler/server/registry/ZookeeperNodeManagerTest.java
b/dolphinscheduler-server/src/test/java/org/apache/dolphinscheduler/server/registry/ZookeeperNodeManagerTest.java
index ae1f08f..faa7b9b 100644
---
a/dolphinscheduler-server/src/test/java/org/apache/dolphinscheduler/server/registry/ZookeeperNodeManagerTest.java
+++
b/dolphinscheduler-server/src/test/java/org/apache/dolphinscheduler/server/registry/ZookeeperNodeManagerTest.java
@@ -18,7 +18,7 @@ package org.apache.dolphinscheduler.server.registry;
import org.apache.dolphinscheduler.common.utils.CollectionUtils;
-import org.apache.dolphinscheduler.common.utils.OSUtils;
+import org.apache.dolphinscheduler.common.utils.NetUtils;
import org.apache.dolphinscheduler.server.master.config.MasterConfig;
import org.apache.dolphinscheduler.server.master.registry.MasterRegistry;
import org.apache.dolphinscheduler.server.worker.config.WorkerConfig;
@@ -26,6 +26,10 @@ import
org.apache.dolphinscheduler.server.worker.registry.WorkerRegistry;
import org.apache.dolphinscheduler.server.zk.SpringZKServer;
import org.apache.dolphinscheduler.service.zk.ZookeeperCachedOperator;
import org.apache.dolphinscheduler.service.zk.ZookeeperConfig;
+
+import java.util.Map;
+import java.util.Set;
+
import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -33,9 +37,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
-import java.util.Map;
-import java.util.Set;
-
/**
* zookeeper node manager test
*/
@@ -74,7 +75,7 @@ public class ZookeeperNodeManagerTest {
Set<String> masterNodes = zookeeperNodeManager.getMasterNodes();
Assert.assertTrue(CollectionUtils.isNotEmpty(masterNodes));
Assert.assertEquals(1, masterNodes.size());
- Assert.assertEquals(OSUtils.getAddr(masterConfig.getListenPort()),
masterNodes.iterator().next());
+ Assert.assertEquals(NetUtils.getAddr(masterConfig.getListenPort()),
masterNodes.iterator().next());
}
@Test
@@ -102,6 +103,6 @@ public class ZookeeperNodeManagerTest {
Set<String> workerNodes =
zookeeperNodeManager.getWorkerGroupNodes("default");
Assert.assertTrue(CollectionUtils.isNotEmpty(workerNodes));
Assert.assertEquals(1, workerNodes.size());
- Assert.assertEquals(OSUtils.getAddr(workerConfig.getListenPort()),
workerNodes.iterator().next());
+ Assert.assertEquals(NetUtils.getAddr(workerConfig.getListenPort()),
workerNodes.iterator().next());
}
}
diff --git
a/dolphinscheduler-server/src/test/java/org/apache/dolphinscheduler/server/utils/ExecutionContextTestUtils.java
b/dolphinscheduler-server/src/test/java/org/apache/dolphinscheduler/server/utils/ExecutionContextTestUtils.java
index 8facc1a..6587242 100644
---
a/dolphinscheduler-server/src/test/java/org/apache/dolphinscheduler/server/utils/ExecutionContextTestUtils.java
+++
b/dolphinscheduler-server/src/test/java/org/apache/dolphinscheduler/server/utils/ExecutionContextTestUtils.java
@@ -18,7 +18,7 @@ package org.apache.dolphinscheduler.server.utils;
import org.apache.dolphinscheduler.common.enums.CommandType;
-import org.apache.dolphinscheduler.common.utils.OSUtils;
+import org.apache.dolphinscheduler.common.utils.NetUtils;
import org.apache.dolphinscheduler.dao.entity.ProcessDefinition;
import org.apache.dolphinscheduler.dao.entity.ProcessInstance;
import org.apache.dolphinscheduler.dao.entity.TaskInstance;
@@ -27,6 +27,7 @@ import
org.apache.dolphinscheduler.server.builder.TaskExecutionContextBuilder;
import org.apache.dolphinscheduler.server.entity.TaskExecutionContext;
import
org.apache.dolphinscheduler.server.master.dispatch.context.ExecutionContext;
import org.apache.dolphinscheduler.server.master.dispatch.enums.ExecutorType;
+
import org.mockito.Mockito;
/**
@@ -47,7 +48,7 @@ public class ExecutionContextTestUtils {
.buildProcessDefinitionRelatedInfo(processDefinition)
.create();
ExecutionContext executionContext = new
ExecutionContext(context.toCommand(), ExecutorType.WORKER);
- executionContext.setHost(Host.of(OSUtils.getAddr(OSUtils.getHost(),
port)));
+ executionContext.setHost(Host.of(NetUtils.getAddr(port)));
return executionContext;
}
diff --git
a/dolphinscheduler-server/src/test/java/org/apache/dolphinscheduler/server/worker/registry/WorkerRegistryTest.java
b/dolphinscheduler-server/src/test/java/org/apache/dolphinscheduler/server/worker/registry/WorkerRegistryTest.java
index 0a4307b..d7066c0 100644
---
a/dolphinscheduler-server/src/test/java/org/apache/dolphinscheduler/server/worker/registry/WorkerRegistryTest.java
+++
b/dolphinscheduler-server/src/test/java/org/apache/dolphinscheduler/server/worker/registry/WorkerRegistryTest.java
@@ -19,7 +19,7 @@ package org.apache.dolphinscheduler.server.worker.registry;
import static
org.apache.dolphinscheduler.common.Constants.DEFAULT_WORKER_GROUP;
-import org.apache.dolphinscheduler.common.utils.OSUtils;
+import org.apache.dolphinscheduler.common.utils.NetUtils;
import org.apache.dolphinscheduler.common.utils.StringUtils;
import org.apache.dolphinscheduler.server.registry.ZookeeperRegistryCenter;
import org.apache.dolphinscheduler.server.worker.config.WorkerConfig;
@@ -121,7 +121,7 @@ public class WorkerRegistryTest {
int i = 0;
for (String workerGroup : workerConfig.getWorkerGroups()) {
- String workerZkPath = workerPath + "/" + workerGroup.trim() + "/"
+ (OSUtils.getAddr(workerConfig.getListenPort()));
+ String workerZkPath = workerPath + "/" + workerGroup.trim() + "/"
+ (NetUtils.getAddr(workerConfig.getListenPort()));
String heartbeat =
zookeeperRegistryCenter.getRegisterOperator().get(workerZkPath);
if (0 == i) {
Assert.assertTrue(workerZkPath.startsWith("/dolphinscheduler/nodes/worker/test/"));
diff --git a/pom.xml b/pom.xml
index 1fd0deb..d1485d9 100644
--- a/pom.xml
+++ b/pom.xml
@@ -769,6 +769,7 @@
<include>**/common/utils/JSONUtilsTest.java</include>
<include>**/common/utils/LoggerUtilsTest.java</include>
<include>**/common/utils/OSUtilsTest.java</include>
+ <include>**/common/utils/NetUtilsTest.java</include>
<include>**/common/utils/ParameterUtilsTest.java</include>
<include>**/common/utils/TimePlaceholderUtilsTest.java</include>
<include>**/common/utils/PreconditionsTest.java</include>