You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by bs...@apache.org on 2019/12/26 21:11:18 UTC
[geode] branch develop updated: GEODE-7541: move SocketCreator
localhost lookup to geode-common (#4527)
This is an automated email from the ASF dual-hosted git repository.
bschuchardt pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git
The following commit(s) were added to refs/heads/develop by this push:
new ceea971 GEODE-7541: move SocketCreator localhost lookup to geode-common (#4527)
ceea971 is described below
commit ceea971a808aa3e88be4e9034018d10108e5ea14
Author: Bruce Schuchardt <bs...@pivotal.io>
AuthorDate: Thu Dec 26 13:10:48 2019 -0800
GEODE-7541: move SocketCreator localhost lookup to geode-common (#4527)
* GEODE-7541: move SocketCreator localhost lookup to geode-common
General host address lookup remains in SocketCreator while localhost-
related functionality has moved to LocalHostUtil.
* added deprecated SocketCreator.getLocalHost() for use in upgrade tests
* hardening tests for stressTest environment
* merging with develop
* remove use of system properties. ensure old locator directories are cleaned up
---
.../apache/geode/metrics/CacheCommonTagsTest.java | 3 +-
.../apache/geode/internal/inet/LocalHostUtil.java | 286 +++++++++++++++++++++
.../distributed/DistributedSystemDUnitTest.java | 2 +-
.../geode/distributed/HostedLocatorsDUnitTest.java | 88 ++++---
.../LocatorLauncherLocalIntegrationTest.java | 2 +-
.../LocatorLauncherRemoteIntegrationTest.java | 2 +-
.../ServerLauncherLocalIntegrationTest.java | 2 +-
.../ServerLauncherRemoteIntegrationTest.java | 2 +-
.../internal/membership/MembershipJUnitTest.java | 8 +-
.../gms/MemberIdentifierFactoryImplTest.java | 6 +-
.../locator/GMSLocatorRecoveryIntegrationTest.java | 4 +-
.../internal/net/SSLSocketIntegrationTest.java | 50 ++--
.../GemFireStatSamplerIntegrationTest.java | 2 +-
.../SimpleStatSamplerIntegrationTest.java | 3 +-
...ederatingManagerConcurrencyIntegrationTest.java | 2 +-
.../apache/geode/admin/GemFireMemberStatus.java | 4 +-
.../internal/DistributedSystemHealthMonitor.java | 4 +-
.../admin/internal/ManagedEntityConfigImpl.java | 3 +-
.../java/org/apache/geode/distributed/Locator.java | 3 +-
.../apache/geode/distributed/LocatorLauncher.java | 5 +-
.../apache/geode/distributed/ServerLauncher.java | 6 +-
.../internal/AbstractDistributionConfig.java | 22 +-
.../internal/ClusterDistributionManager.java | 4 +-
.../internal/DistributionConfigImpl.java | 3 +-
.../distributed/internal/InternalLocator.java | 6 +-
.../internal/LonerDistributionManager.java | 3 +-
.../geode/distributed/internal/ServerLocation.java | 4 +-
.../geode/distributed/internal/ServerLocator.java | 6 +-
.../geode/distributed/internal/StartupMessage.java | 4 +-
.../distributed/internal/direct/DirectChannel.java | 4 +-
.../membership/InternalDistributedMember.java | 7 +-
.../adapter/TcpSocketCreatorAdapter.java | 3 +-
.../internal/membership/gms/GMSUtil.java | 4 +-
.../org/apache/geode/internal/AvailablePort.java | 4 +-
.../apache/geode/internal/VersionDescription.java | 4 +-
.../admin/remote/DistributionLocatorId.java | 9 +-
.../internal/admin/remote/FetchHostResponse.java | 4 +-
.../geode/internal/cache/GemFireCacheImpl.java | 5 +-
.../partitioned/PersistentBucketRecoverer.java | 4 +-
.../internal/cache/tier/sockets/AcceptorImpl.java | 5 +-
.../geode/internal/net/InetAddressUtils.java | 5 +-
.../apache/geode/internal/net/SocketCreator.java | 253 +-----------------
.../geode/internal/statistics/HostStatSampler.java | 3 +-
.../internal/statistics/OsStatisticsProvider.java | 4 +-
.../internal/statistics/StatArchiveWriter.java | 3 +-
.../org/apache/geode/internal/tcp/TCPConduit.java | 3 +-
.../management/internal/JmxManagerAdvisee.java | 4 +-
.../geode/management/internal/ManagementAgent.java | 5 +-
.../geode/management/internal/RestAgent.java | 6 +-
.../internal/beans/MemberMBeanBridge.java | 4 +-
.../geode/management/internal/util/HostUtils.java | 4 +-
.../internal/StartupMessageDataJUnitTest.java | 6 +-
.../MembershipDependenciesJUnitTest.java | 6 +-
.../membership/MembershipViewJUnitTest.java | 6 +-
.../auth/AbstractGMSAuthenticatorTestCase.java | 4 +-
.../PartitionedRegionLoadModelJUnitTest.java | 4 +-
.../cache/versions/RegionVersionVectorTest.java | 4 +-
.../apache/geode/internal/tcp/ConnectionTest.java | 2 +-
.../geode/memcached/GemFireMemcachedServer.java | 5 +-
.../org/apache/geode/redis/RedisDistDUnitTest.java | 6 +-
.../org/apache/geode/redis/GeodeRedisServer.java | 4 +-
.../tcpserver/TcpServerGossipVersionDUnitTest.java | 4 +-
.../CreateGatewayReceiverCommandDUnitTest.java | 4 +-
.../internal/cache/wan/GatewayReceiverImpl.java | 4 +-
.../cache/wan/GatewayReceiverImplTest.java | 4 +-
65 files changed, 502 insertions(+), 447 deletions(-)
diff --git a/geode-assembly/src/acceptanceTest/java/org/apache/geode/metrics/CacheCommonTagsTest.java b/geode-assembly/src/acceptanceTest/java/org/apache/geode/metrics/CacheCommonTagsTest.java
index 451b2da..1ca677c 100644
--- a/geode-assembly/src/acceptanceTest/java/org/apache/geode/metrics/CacheCommonTagsTest.java
+++ b/geode-assembly/src/acceptanceTest/java/org/apache/geode/metrics/CacheCommonTagsTest.java
@@ -29,6 +29,7 @@ import org.junit.Test;
import org.apache.geode.cache.CacheFactory;
import org.apache.geode.internal.cache.InternalCache;
+import org.apache.geode.internal.inet.LocalHostUtil;
import org.apache.geode.internal.net.SocketCreator;
public class CacheCommonTagsTest {
@@ -56,7 +57,7 @@ public class CacheCommonTagsTest {
assertThat(meter.getId().getTags())
.as("Tags for meter with name " + meterId.getName())
- .contains(Tag.of("host", SocketCreator.getHostName(SocketCreator.getLocalHost())));
+ .contains(Tag.of("host", SocketCreator.getHostName(LocalHostUtil.getLocalHost())));
}
}
diff --git a/geode-common/src/main/java/org/apache/geode/internal/inet/LocalHostUtil.java b/geode-common/src/main/java/org/apache/geode/internal/inet/LocalHostUtil.java
new file mode 100644
index 0000000..f904c55
--- /dev/null
+++ b/geode-common/src/main/java/org/apache/geode/internal/inet/LocalHostUtil.java
@@ -0,0 +1,286 @@
+/*
+ * 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.geode.internal.inet;
+
+import java.net.Inet4Address;
+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.HashSet;
+import java.util.Hashtable;
+import java.util.Set;
+
+import javax.naming.Context;
+import javax.naming.NamingEnumeration;
+import javax.naming.directory.Attribute;
+import javax.naming.directory.Attributes;
+import javax.naming.directory.DirContext;
+import javax.naming.directory.InitialDirContext;
+
+import org.apache.geode.annotations.internal.MakeNotStatic;
+
+/**
+ * LocalHostUtil provides lookup for the preferred local host InetAddress. It makes up
+ * for deficiencies in /etc/hosts configuration and tries to ensure that, if available,
+ * a non-loopback address is used.
+ */
+
+public class LocalHostUtil {
+ /**
+ * Optional system property to enable GemFire usage of link-local addresses
+ */
+ private static final String USE_LINK_LOCAL_ADDRESSES_PROPERTY =
+ "gemfire.net.useLinkLocalAddresses";
+
+ /**
+ * True if GemFire should use link-local addresses
+ */
+ private static final boolean useLinkLocalAddresses =
+ Boolean.getBoolean(USE_LINK_LOCAL_ADDRESSES_PROPERTY);
+
+ /**
+ * we cache localHost to avoid bug #40619, access-violation in native code
+ */
+ private static final InetAddress localHost;
+
+ /**
+ * all classes should use this variable to determine whether to use IPv4 or IPv6 addresses
+ */
+ @MakeNotStatic
+ private static boolean useIPv6Addresses = !Boolean.getBoolean("java.net.preferIPv4Stack")
+ && Boolean.getBoolean("java.net.preferIPv6Addresses");
+
+ static {
+ InetAddress inetAddress = null;
+ try {
+ inetAddress = InetAddress.getByAddress(InetAddress.getLocalHost().getAddress());
+ if (inetAddress.isLoopbackAddress()) {
+ InetAddress ipv4Fallback = null;
+ InetAddress ipv6Fallback = null;
+ // try to find a non-loopback address
+ Set<InetAddress> myInterfaces = getMyAddresses();
+ boolean preferIPv6 = useIPv6Addresses;
+ String lhName = null;
+ for (InetAddress addr : myInterfaces) {
+ if (addr.isLoopbackAddress() || addr.isAnyLocalAddress() || lhName != null) {
+ break;
+ }
+ boolean ipv6 = addr instanceof Inet6Address;
+ boolean ipv4 = addr instanceof Inet4Address;
+ if ((preferIPv6 && ipv6) || (!preferIPv6 && ipv4)) {
+ String addrName = reverseDNS(addr);
+ if (inetAddress.isLoopbackAddress()) {
+ inetAddress = addr;
+ lhName = addrName;
+ } else if (addrName != null) {
+ inetAddress = addr;
+ lhName = addrName;
+ }
+ } else {
+ if (preferIPv6 && ipv4 && ipv4Fallback == null) {
+ ipv4Fallback = addr;
+ } else if (!preferIPv6 && ipv6 && ipv6Fallback == null) {
+ ipv6Fallback = addr;
+ }
+ }
+ }
+ // vanilla Ubuntu installations will have a usable IPv6 address when
+ // running as a guest OS on an IPv6-enabled machine. We also look for
+ // the alternative IPv4 configuration.
+ if (inetAddress.isLoopbackAddress()) {
+ if (ipv4Fallback != null) {
+ inetAddress = ipv4Fallback;
+ useIPv6Addresses = false;
+ } else if (ipv6Fallback != null) {
+ inetAddress = ipv6Fallback;
+ useIPv6Addresses = true;
+ }
+ }
+ }
+ } catch (UnknownHostException ignored) {
+ }
+ localHost = inetAddress;
+ }
+
+
+ /**
+ * returns a set of the non-loopback InetAddresses for this machine
+ */
+ public static Set<InetAddress> getMyAddresses() {
+ Set<InetAddress> result = new HashSet<>();
+ Set<InetAddress> locals = new HashSet<>();
+ Enumeration<NetworkInterface> interfaces;
+ try {
+ interfaces = NetworkInterface.getNetworkInterfaces();
+ } catch (SocketException e) {
+ throw new IllegalArgumentException(
+ "Unable to examine network interfaces",
+ e);
+ }
+ while (interfaces.hasMoreElements()) {
+ NetworkInterface face = interfaces.nextElement();
+ boolean faceIsUp = false;
+ try {
+ faceIsUp = face.isUp();
+ } catch (SocketException e) {
+ // since it's not usable we'll skip this interface
+ }
+ if (faceIsUp) {
+ Enumeration<InetAddress> addrs = face.getInetAddresses();
+ while (addrs.hasMoreElements()) {
+ InetAddress addr = addrs.nextElement();
+ if (addr.isLoopbackAddress() || addr.isAnyLocalAddress()
+ || (!useLinkLocalAddresses && addr.isLinkLocalAddress())) {
+ locals.add(addr);
+ } else {
+ result.add(addr);
+ }
+ } // while
+ }
+ } // while
+ // fix for bug #42427 - allow product to run on a standalone box by using
+ // local addresses if there are no non-local addresses available
+ if (result.size() == 0) {
+ return locals;
+ } else {
+ return result;
+ }
+ }
+
+ /**
+ * This method uses JNDI to look up an address in DNS and return its name
+ *
+ *
+ * @return the host name associated with the address or null if lookup isn't possible or there is
+ * no host name for this address
+ */
+ private static String reverseDNS(InetAddress addr) {
+ byte[] addrBytes = addr.getAddress();
+ // reverse the address suitable for reverse lookup
+ StringBuilder lookup = new StringBuilder();
+ for (int index = addrBytes.length - 1; index >= 0; index--) {
+ lookup.append(addrBytes[index] & 0xff).append('.');
+ }
+ lookup.append("in-addr.arpa");
+
+ try {
+ Hashtable<String, String> env = new Hashtable<>();
+ env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.dns.DnsContextFactory");
+ DirContext ctx = new InitialDirContext(env);
+ Attributes attrs = ctx.getAttributes(lookup.toString(), new String[] {"PTR"});
+ for (NamingEnumeration ae = attrs.getAll(); ae.hasMoreElements();) {
+ Attribute attr = (Attribute) ae.next();
+ for (Enumeration vals = attr.getAll(); vals.hasMoreElements();) {
+ Object elem = vals.nextElement();
+ if ("PTR".equals(attr.getID()) && elem != null) {
+ return elem.toString();
+ }
+ }
+ }
+ ctx.close();
+ } catch (Exception e) {
+ // ignored
+ }
+ return null;
+ }
+
+ /**
+ * All classes should use this instead of relying on the JRE system property
+ */
+ public static boolean preferIPv6Addresses() {
+ return useIPv6Addresses;
+ }
+
+ /**
+ * All GemFire code should use this method instead of InetAddress.getLocalHost(). See bug #40619
+ */
+ public static InetAddress getLocalHost() throws UnknownHostException {
+ if (localHost == null) {
+ throw new UnknownHostException();
+ }
+ return localHost;
+ }
+
+ /**
+ * Returns true if host matches the LOCALHOST.
+ */
+ public static boolean isLocalHost(Object host) {
+ if (host instanceof InetAddress) {
+ InetAddress inetAddress = (InetAddress) host;
+ if (isLocalHost(inetAddress)) {
+ return true;
+ } else if (inetAddress.isLoopbackAddress()) {
+ return true;
+ } else {
+ try {
+ Enumeration en = NetworkInterface.getNetworkInterfaces();
+ while (en.hasMoreElements()) {
+ NetworkInterface i = (NetworkInterface) en.nextElement();
+ for (Enumeration en2 = i.getInetAddresses(); en2.hasMoreElements();) {
+ InetAddress addr = (InetAddress) en2.nextElement();
+ if (inetAddress.equals(addr)) {
+ return true;
+ }
+ }
+ }
+ return false;
+ } catch (SocketException e) {
+ throw new IllegalArgumentException("Unable to query network interface", e);
+ }
+ }
+ } else {
+ return isLocalHost((Object) toInetAddress(host.toString()));
+ }
+ }
+
+ private static boolean isLocalHost(InetAddress host) {
+ try {
+ return getLocalHost().equals(host);
+ } catch (UnknownHostException ignored) {
+ return false;
+ }
+ }
+
+ /**
+ * Converts the string host to an instance of InetAddress. Returns null if the string is empty.
+ * Fails Assertion if the conversion would result in <code>java.lang.UnknownHostException</code>.
+ * <p>
+ * Any leading slashes on host will be ignored.
+ *
+ * @param host string version the InetAddress
+ *
+ * @return the host converted to InetAddress instance
+ *
+ * @throws IllegalArgumentException in lieu of UnknownHostException
+ */
+ public static InetAddress toInetAddress(String host) {
+ if (host == null || host.length() == 0) {
+ return null;
+ }
+ try {
+ final int index = host.indexOf("/");
+ if (index > -1) {
+ return InetAddress.getByName(host.substring(index + 1));
+ } else {
+ return InetAddress.getByName(host);
+ }
+ } catch (UnknownHostException e) {
+ throw new IllegalArgumentException(e.getMessage());
+ }
+ }
+}
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/distributed/DistributedSystemDUnitTest.java b/geode-core/src/distributedTest/java/org/apache/geode/distributed/DistributedSystemDUnitTest.java
index 5bf8db3..4bf80f0 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/distributed/DistributedSystemDUnitTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/distributed/DistributedSystemDUnitTest.java
@@ -34,7 +34,7 @@ import static org.apache.geode.internal.AvailablePort.MULTICAST;
import static org.apache.geode.internal.AvailablePort.SOCKET;
import static org.apache.geode.internal.AvailablePort.getRandomAvailablePort;
import static org.apache.geode.internal.AvailablePortHelper.getRandomAvailableTCPPortRange;
-import static org.apache.geode.internal.net.SocketCreator.getLocalHost;
+import static org.apache.geode.internal.inet.LocalHostUtil.getLocalHost;
import static org.apache.geode.test.dunit.DistributedTestUtils.getDUnitLocatorPort;
import static org.apache.geode.test.dunit.LogWriterUtils.getLogWriter;
import static org.assertj.core.api.Assertions.assertThat;
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/distributed/HostedLocatorsDUnitTest.java b/geode-core/src/distributedTest/java/org/apache/geode/distributed/HostedLocatorsDUnitTest.java
index ed061de..bdc3e40 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/distributed/HostedLocatorsDUnitTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/distributed/HostedLocatorsDUnitTest.java
@@ -14,7 +14,7 @@
*/
package org.apache.geode.distributed;
-import static org.apache.geode.distributed.ConfigurationProperties.MCAST_PORT;
+import static org.apache.geode.distributed.ConfigurationProperties.LOCATORS;
import static org.apache.geode.internal.AvailablePortHelper.getRandomAvailableTCPPorts;
import static org.apache.geode.test.dunit.Assert.assertEquals;
import static org.apache.geode.test.dunit.Assert.assertFalse;
@@ -31,16 +31,16 @@ import java.util.concurrent.Callable;
import org.junit.Test;
import org.junit.experimental.categories.Category;
+import org.springframework.shell.support.util.FileUtils;
import org.apache.geode.distributed.AbstractLauncher.Status;
import org.apache.geode.distributed.LocatorLauncher.Builder;
import org.apache.geode.distributed.LocatorLauncher.LocatorState;
import org.apache.geode.distributed.internal.ClusterDistributionManager;
-import org.apache.geode.distributed.internal.DistributionConfig;
import org.apache.geode.distributed.internal.InternalDistributedSystem;
import org.apache.geode.distributed.internal.InternalLocator;
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
-import org.apache.geode.internal.net.SocketCreator;
+import org.apache.geode.internal.inet.LocalHostUtil;
import org.apache.geode.internal.util.StopWatch;
import org.apache.geode.test.dunit.Host;
import org.apache.geode.test.dunit.SerializableCallable;
@@ -71,6 +71,12 @@ public class HostedLocatorsDUnitTest extends JUnit4DistributedTestCase {
disconnectAllFromDS();
}
+ private String getUniqueLocatorName() {
+ String uniqueLocatorName = Host.getHost(0).getHostName() + "_"
+ + getUniqueName();
+ return uniqueLocatorName;
+ }
+
@Test
public void testGetAllHostedLocators() throws Exception {
final InternalDistributedSystem system = getSystem();
@@ -80,37 +86,33 @@ public class HostedLocatorsDUnitTest extends JUnit4DistributedTestCase {
final int[] ports = getRandomAvailableTCPPorts(4);
- final String uniqueName = getUniqueName();
+ final String uniqueName = getUniqueLocatorName();
for (int i = 0; i < 4; i++) {
final int whichvm = i;
getHost(0).getVM(whichvm).invoke(new SerializableCallable() {
@Override
public Object call() throws Exception {
- try {
- System.setProperty(DistributionConfig.GEMFIRE_PREFIX + "locators", dunitLocator);
- System.setProperty(DistributionConfig.GEMFIRE_PREFIX + MCAST_PORT, "0");
-
- final String name = uniqueName + "-" + whichvm;
- final File subdir = new File(name);
- subdir.mkdir();
- assertTrue(subdir.exists() && subdir.isDirectory());
-
- final Builder builder = new Builder().setMemberName(name).setPort(ports[whichvm])
- .setRedirectOutput(true).setWorkingDirectory(name);
-
- launcher = builder.build();
- assertEquals(Status.ONLINE, launcher.start().getStatus());
- waitForLocatorToStart(launcher, TIMEOUT_MILLISECONDS, 10, true);
- return null;
- } finally {
- System.clearProperty(DistributionConfig.GEMFIRE_PREFIX + "locators");
- System.clearProperty(DistributionConfig.GEMFIRE_PREFIX + MCAST_PORT);
+ final String name = uniqueName + "-" + whichvm;
+ final File subdir = new File(name);
+ if (subdir.exists()) {
+ FileUtils.deleteRecursively(subdir);
}
+ subdir.mkdir();
+ assertTrue(subdir.exists() && subdir.isDirectory());
+
+ final Builder builder = new Builder().setMemberName(name).setPort(ports[whichvm])
+ .set(LOCATORS, dunitLocator)
+ .setRedirectOutput(true).setWorkingDirectory(name);
+
+ launcher = builder.build();
+ assertEquals(Status.ONLINE, launcher.start().getStatus());
+ waitForLocatorToStart(launcher, TIMEOUT_MILLISECONDS, 10, true);
+ return null;
}
});
}
- final String host = SocketCreator.getLocalHost().getHostAddress();
+ final String host = LocalHostUtil.getLocalHost().getHostAddress();
final Set<String> locators = new HashSet<String>();
locators.add(host + "["
@@ -198,38 +200,34 @@ public class HostedLocatorsDUnitTest extends JUnit4DistributedTestCase {
// This will eventually contain the ports used by locators
final int[] ports = new int[] {0, 0, 0, 0};
- final String uniqueName = getUniqueName();
+ final String uniqueName = getUniqueLocatorName();
for (int i = 0; i < 4; i++) {
final int whichvm = i;
Integer port = (Integer) Host.getHost(0).getVM(whichvm).invoke(new SerializableCallable() {
@Override
public Object call() throws Exception {
- try {
- System.setProperty(DistributionConfig.GEMFIRE_PREFIX + "locators", dunitLocator);
- System.setProperty(DistributionConfig.GEMFIRE_PREFIX + MCAST_PORT, "0");
-
- final String name = uniqueName + "-" + whichvm;
- final File subdir = new File(name);
- subdir.mkdir();
- assertTrue(subdir.exists() && subdir.isDirectory());
-
- final Builder builder = new Builder().setMemberName(name).setPort(ports[whichvm])
- .setRedirectOutput(true).setWorkingDirectory(name);
-
- launcher = builder.build();
- assertEquals(Status.ONLINE, launcher.start().getStatus());
- waitForLocatorToStart(launcher, TIMEOUT_MILLISECONDS, 10, true);
- return launcher.getPort();
- } finally {
- System.clearProperty(DistributionConfig.GEMFIRE_PREFIX + "locators");
- System.clearProperty(DistributionConfig.GEMFIRE_PREFIX + MCAST_PORT);
+ final String name = uniqueName + "-" + whichvm;
+ final File subdir = new File(name);
+ if (subdir.exists()) {
+ FileUtils.deleteRecursively(subdir);
}
+ subdir.mkdir();
+ assertTrue(subdir.exists() && subdir.isDirectory());
+
+ final Builder builder = new Builder().setMemberName(name).setPort(ports[whichvm])
+ .set(LOCATORS, dunitLocator)
+ .setRedirectOutput(true).setWorkingDirectory(name);
+
+ launcher = builder.build();
+ assertEquals(Status.ONLINE, launcher.start().getStatus());
+ waitForLocatorToStart(launcher, TIMEOUT_MILLISECONDS, 10, true);
+ return launcher.getPort();
}
});
ports[i] = port;
}
- final String host = SocketCreator.getLocalHost().getHostAddress();
+ final String host = LocalHostUtil.getLocalHost().getHostAddress();
final Set<String> locators = new HashSet<String>();
locators.add(host + "["
diff --git a/geode-core/src/integrationTest/java/org/apache/geode/distributed/LocatorLauncherLocalIntegrationTest.java b/geode-core/src/integrationTest/java/org/apache/geode/distributed/LocatorLauncherLocalIntegrationTest.java
index 3fddd44..56f4051 100755
--- a/geode-core/src/integrationTest/java/org/apache/geode/distributed/LocatorLauncherLocalIntegrationTest.java
+++ b/geode-core/src/integrationTest/java/org/apache/geode/distributed/LocatorLauncherLocalIntegrationTest.java
@@ -22,7 +22,7 @@ import static org.apache.geode.distributed.ConfigurationProperties.DISABLE_AUTO_
import static org.apache.geode.distributed.ConfigurationProperties.LOG_LEVEL;
import static org.apache.geode.distributed.ConfigurationProperties.MCAST_PORT;
import static org.apache.geode.distributed.ConfigurationProperties.NAME;
-import static org.apache.geode.internal.net.SocketCreator.getLocalHost;
+import static org.apache.geode.internal.inet.LocalHostUtil.getLocalHost;
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.catchThrowable;
diff --git a/geode-core/src/integrationTest/java/org/apache/geode/distributed/LocatorLauncherRemoteIntegrationTest.java b/geode-core/src/integrationTest/java/org/apache/geode/distributed/LocatorLauncherRemoteIntegrationTest.java
index aa83c35..40c5d53 100755
--- a/geode-core/src/integrationTest/java/org/apache/geode/distributed/LocatorLauncherRemoteIntegrationTest.java
+++ b/geode-core/src/integrationTest/java/org/apache/geode/distributed/LocatorLauncherRemoteIntegrationTest.java
@@ -17,7 +17,7 @@ package org.apache.geode.distributed;
import static org.apache.geode.distributed.AbstractLauncher.Status.NOT_RESPONDING;
import static org.apache.geode.distributed.AbstractLauncher.Status.ONLINE;
import static org.apache.geode.distributed.AbstractLauncher.Status.STOPPED;
-import static org.apache.geode.internal.net.SocketCreator.getLocalHost;
+import static org.apache.geode.internal.inet.LocalHostUtil.getLocalHost;
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.catchThrowable;
diff --git a/geode-core/src/integrationTest/java/org/apache/geode/distributed/ServerLauncherLocalIntegrationTest.java b/geode-core/src/integrationTest/java/org/apache/geode/distributed/ServerLauncherLocalIntegrationTest.java
index 2158630..d3f3d30 100755
--- a/geode-core/src/integrationTest/java/org/apache/geode/distributed/ServerLauncherLocalIntegrationTest.java
+++ b/geode-core/src/integrationTest/java/org/apache/geode/distributed/ServerLauncherLocalIntegrationTest.java
@@ -22,7 +22,7 @@ import static org.apache.geode.distributed.ConfigurationProperties.LOG_LEVEL;
import static org.apache.geode.distributed.ConfigurationProperties.MCAST_PORT;
import static org.apache.geode.distributed.ConfigurationProperties.NAME;
import static org.apache.geode.internal.AvailablePortHelper.getRandomAvailableTCPPorts;
-import static org.apache.geode.internal.net.SocketCreator.getLocalHost;
+import static org.apache.geode.internal.inet.LocalHostUtil.getLocalHost;
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.catchThrowable;
diff --git a/geode-core/src/integrationTest/java/org/apache/geode/distributed/ServerLauncherRemoteIntegrationTest.java b/geode-core/src/integrationTest/java/org/apache/geode/distributed/ServerLauncherRemoteIntegrationTest.java
index 8ef565a..198a6ec 100755
--- a/geode-core/src/integrationTest/java/org/apache/geode/distributed/ServerLauncherRemoteIntegrationTest.java
+++ b/geode-core/src/integrationTest/java/org/apache/geode/distributed/ServerLauncherRemoteIntegrationTest.java
@@ -19,7 +19,7 @@ import static org.apache.geode.distributed.AbstractLauncher.Status.ONLINE;
import static org.apache.geode.distributed.AbstractLauncher.Status.STOPPED;
import static org.apache.geode.distributed.ConfigurationProperties.CACHE_XML_FILE;
import static org.apache.geode.distributed.internal.DistributionConfig.GEMFIRE_PREFIX;
-import static org.apache.geode.internal.net.SocketCreator.getLocalHost;
+import static org.apache.geode.internal.inet.LocalHostUtil.getLocalHost;
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.catchThrowable;
diff --git a/geode-core/src/integrationTest/java/org/apache/geode/distributed/internal/membership/MembershipJUnitTest.java b/geode-core/src/integrationTest/java/org/apache/geode/distributed/internal/membership/MembershipJUnitTest.java
index 67a16e8..7ccbdf0 100755
--- a/geode-core/src/integrationTest/java/org/apache/geode/distributed/internal/membership/MembershipJUnitTest.java
+++ b/geode-core/src/integrationTest/java/org/apache/geode/distributed/internal/membership/MembershipJUnitTest.java
@@ -77,7 +77,7 @@ import org.apache.geode.distributed.internal.tcpserver.TcpClient;
import org.apache.geode.internal.AvailablePortHelper;
import org.apache.geode.internal.InternalDataSerializer;
import org.apache.geode.internal.admin.remote.RemoteTransportConfig;
-import org.apache.geode.internal.net.SocketCreator;
+import org.apache.geode.internal.inet.LocalHostUtil;
import org.apache.geode.internal.net.SocketCreatorFactory;
import org.apache.geode.internal.security.SecurableCommunicationChannel;
import org.apache.geode.internal.security.SecurityService;
@@ -142,7 +142,7 @@ public class MembershipJUnitTest {
// boot up a locator
int port = AvailablePortHelper.getRandomAvailableTCPPort();
- InetAddress localHost = SocketCreator.getLocalHost();
+ InetAddress localHost = LocalHostUtil.getLocalHost();
// this locator will hook itself up with the first Membership
// to be created
@@ -321,7 +321,7 @@ public class MembershipJUnitTest {
// boot up a locator
int port = AvailablePortHelper.getRandomAvailableTCPPort();
- InetAddress localHost = SocketCreator.getLocalHost();
+ InetAddress localHost = LocalHostUtil.getLocalHost();
Properties p = new Properties();
p.setProperty(ConfigurationProperties.SECURITY_UDP_DHALGO, "AES:128");
// this locator will hook itself up with the first Membership
@@ -447,7 +447,7 @@ public class MembershipJUnitTest {
assertEquals(24000, sc.getJoinTimeout());
nonDefault.clear();
- nonDefault.put(LOCATORS, SocketCreator.getLocalHost().getHostAddress() + "[" + 12345 + "]");
+ nonDefault.put(LOCATORS, LocalHostUtil.getLocalHost().getHostAddress() + "[" + 12345 + "]");
config = new DistributionConfigImpl(nonDefault);
transport = new RemoteTransportConfig(config, ClusterDistributionManager.NORMAL_DM_TYPE);
sc = new ServiceConfig(transport, config);
diff --git a/geode-core/src/integrationTest/java/org/apache/geode/distributed/internal/membership/gms/MemberIdentifierFactoryImplTest.java b/geode-core/src/integrationTest/java/org/apache/geode/distributed/internal/membership/gms/MemberIdentifierFactoryImplTest.java
index fce1eff..72ec14e 100644
--- a/geode-core/src/integrationTest/java/org/apache/geode/distributed/internal/membership/gms/MemberIdentifierFactoryImplTest.java
+++ b/geode-core/src/integrationTest/java/org/apache/geode/distributed/internal/membership/gms/MemberIdentifierFactoryImplTest.java
@@ -28,7 +28,7 @@ import org.apache.geode.distributed.internal.membership.InternalDistributedMembe
import org.apache.geode.distributed.internal.membership.gms.api.MemberData;
import org.apache.geode.distributed.internal.membership.gms.api.MemberDataBuilder;
import org.apache.geode.distributed.internal.membership.gms.api.MemberIdentifier;
-import org.apache.geode.internal.net.SocketCreator;
+import org.apache.geode.internal.inet.LocalHostUtil;
import org.apache.geode.internal.serialization.Version;
public class MemberIdentifierFactoryImplTest {
@@ -42,7 +42,7 @@ public class MemberIdentifierFactoryImplTest {
@Test
public void testRemoteHost() throws UnknownHostException {
- InetAddress localhost = SocketCreator.getLocalHost();
+ InetAddress localhost = LocalHostUtil.getLocalHost();
MemberData memberData =
MemberDataBuilder.newBuilder(localhost, localhost.getHostName()).build();
MemberIdentifier data = factory.create(memberData);
@@ -52,7 +52,7 @@ public class MemberIdentifierFactoryImplTest {
@Test
public void testNewBuilderForLocalHost() throws UnknownHostException {
- InetAddress localhost = SocketCreator.getLocalHost();
+ InetAddress localhost = LocalHostUtil.getLocalHost();
MemberData memberData = MemberDataBuilder.newBuilderForLocalHost("hostname").build();
MemberIdentifier data = factory.create(memberData);
assertThat(data.getInetAddress()).isEqualTo(localhost);
diff --git a/geode-core/src/integrationTest/java/org/apache/geode/distributed/internal/membership/gms/locator/GMSLocatorRecoveryIntegrationTest.java b/geode-core/src/integrationTest/java/org/apache/geode/distributed/internal/membership/gms/locator/GMSLocatorRecoveryIntegrationTest.java
index f0226fe..be5fc80 100644
--- a/geode-core/src/integrationTest/java/org/apache/geode/distributed/internal/membership/gms/locator/GMSLocatorRecoveryIntegrationTest.java
+++ b/geode-core/src/integrationTest/java/org/apache/geode/distributed/internal/membership/gms/locator/GMSLocatorRecoveryIntegrationTest.java
@@ -60,7 +60,7 @@ import org.apache.geode.distributed.internal.tcpserver.TcpClient;
import org.apache.geode.internal.AvailablePortHelper;
import org.apache.geode.internal.InternalDataSerializer;
import org.apache.geode.internal.admin.remote.RemoteTransportConfig;
-import org.apache.geode.internal.net.SocketCreator;
+import org.apache.geode.internal.inet.LocalHostUtil;
import org.apache.geode.internal.net.SocketCreatorFactory;
import org.apache.geode.internal.security.SecurableCommunicationChannel;
import org.apache.geode.internal.serialization.DSFIDSerializer;
@@ -162,7 +162,7 @@ public class GMSLocatorRecoveryIntegrationTest {
@Test
public void testRecoverFromOther() throws Exception {
int port = AvailablePortHelper.getRandomAvailableTCPPort();
- InetAddress localHost = SocketCreator.getLocalHost();
+ InetAddress localHost = LocalHostUtil.getLocalHost();
// this locator will hook itself up with the first Membership to be created
locator = InternalLocator.startLocator(port, null, null, null, localHost, false,
diff --git a/geode-core/src/integrationTest/java/org/apache/geode/internal/net/SSLSocketIntegrationTest.java b/geode-core/src/integrationTest/java/org/apache/geode/internal/net/SSLSocketIntegrationTest.java
index 8659c67..481313e 100755
--- a/geode-core/src/integrationTest/java/org/apache/geode/internal/net/SSLSocketIntegrationTest.java
+++ b/geode-core/src/integrationTest/java/org/apache/geode/internal/net/SSLSocketIntegrationTest.java
@@ -14,11 +14,16 @@
*/
package org.apache.geode.internal.net;
-import static org.apache.geode.distributed.ConfigurationProperties.CLUSTER_SSL_CIPHERS;
-import static org.apache.geode.distributed.ConfigurationProperties.CLUSTER_SSL_ENABLED;
-import static org.apache.geode.distributed.ConfigurationProperties.CLUSTER_SSL_PROTOCOLS;
-import static org.apache.geode.distributed.ConfigurationProperties.CLUSTER_SSL_REQUIRE_AUTHENTICATION;
import static org.apache.geode.distributed.ConfigurationProperties.MCAST_PORT;
+import static org.apache.geode.distributed.ConfigurationProperties.SSL_CIPHERS;
+import static org.apache.geode.distributed.ConfigurationProperties.SSL_ENABLED_COMPONENTS;
+import static org.apache.geode.distributed.ConfigurationProperties.SSL_KEYSTORE;
+import static org.apache.geode.distributed.ConfigurationProperties.SSL_KEYSTORE_PASSWORD;
+import static org.apache.geode.distributed.ConfigurationProperties.SSL_PROTOCOLS;
+import static org.apache.geode.distributed.ConfigurationProperties.SSL_REQUIRE_AUTHENTICATION;
+import static org.apache.geode.distributed.ConfigurationProperties.SSL_TRUSTSTORE;
+import static org.apache.geode.distributed.ConfigurationProperties.SSL_TRUSTSTORE_PASSWORD;
+import static org.apache.geode.internal.security.SecurableCommunicationChannel.ALL;
import static org.apache.geode.internal.security.SecurableCommunicationChannel.CLUSTER;
import static org.apache.geode.test.awaitility.GeodeAwaitility.await;
import static org.assertj.core.api.Assertions.assertThat;
@@ -60,8 +65,6 @@ import org.junit.After;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
-import org.junit.contrib.java.lang.system.RestoreSystemProperties;
-import org.junit.experimental.categories.Category;
import org.junit.rules.ErrorCollector;
import org.junit.rules.TemporaryFolder;
import org.junit.rules.TestName;
@@ -70,10 +73,10 @@ import org.apache.geode.distributed.internal.DMStats;
import org.apache.geode.distributed.internal.DistributionConfig;
import org.apache.geode.distributed.internal.DistributionConfigImpl;
import org.apache.geode.internal.ByteBufferOutputStream;
+import org.apache.geode.internal.inet.LocalHostUtil;
import org.apache.geode.internal.security.SecurableCommunicationChannel;
import org.apache.geode.internal.tcp.ByteBufferInputStream;
import org.apache.geode.test.dunit.IgnoredException;
-import org.apache.geode.test.junit.categories.MembershipTest;
/**
* Integration tests for SocketCreatorFactory with SSL.
@@ -83,7 +86,6 @@ import org.apache.geode.test.junit.categories.MembershipTest;
*
* @see ClientSocketFactoryIntegrationTest
*/
-@Category({MembershipTest.class})
public class SSLSocketIntegrationTest {
private static final String MESSAGE = SSLSocketIntegrationTest.class.getName() + " Message";
@@ -101,9 +103,6 @@ public class SSLSocketIntegrationTest {
public ErrorCollector errorCollector = new ErrorCollector();
@Rule
- public RestoreSystemProperties restoreSystemProperties = new RestoreSystemProperties();
-
- @Rule
public TemporaryFolder temporaryFolder = new TemporaryFolder();
@Rule
@@ -114,33 +113,37 @@ public class SSLSocketIntegrationTest {
@Before
public void setUp() throws Exception {
+ SocketCreatorFactory.close(); // ensure nothing lingers from past tests
+
IgnoredException.addIgnoredException("javax.net.ssl.SSLException: Read timed out");
File keystore = findTestKeystore();
- System.setProperty("javax.net.ssl.trustStore", keystore.getCanonicalPath());
- System.setProperty("javax.net.ssl.trustStorePassword", "password");
- System.setProperty("javax.net.ssl.keyStore", keystore.getCanonicalPath());
- System.setProperty("javax.net.ssl.keyStorePassword", "password");
// System.setProperty("javax.net.debug", "ssl,handshake");
Properties properties = new Properties();
properties.setProperty(MCAST_PORT, "0");
- properties.setProperty(CLUSTER_SSL_ENABLED, "true");
- properties.setProperty(CLUSTER_SSL_REQUIRE_AUTHENTICATION, "true");
- properties.setProperty(CLUSTER_SSL_CIPHERS, "any");
- properties.setProperty(CLUSTER_SSL_PROTOCOLS, "TLSv1.2");
+ properties.setProperty(SSL_ENABLED_COMPONENTS, ALL.getConstant());
+ properties.setProperty(SSL_KEYSTORE, keystore.getCanonicalPath());
+ properties.setProperty(SSL_KEYSTORE_PASSWORD, "password");
+ properties.setProperty(SSL_TRUSTSTORE, keystore.getCanonicalPath());
+ properties.setProperty(SSL_TRUSTSTORE_PASSWORD, "password");
+ properties.setProperty(SSL_REQUIRE_AUTHENTICATION, "true");
+ properties.setProperty(SSL_CIPHERS, "any");
+ properties.setProperty(SSL_PROTOCOLS, "TLSv1.2");
this.distributionConfig = new DistributionConfigImpl(properties);
SocketCreatorFactory.setDistributionConfig(this.distributionConfig);
- this.socketCreator = SocketCreatorFactory.getSocketCreatorForComponent(CLUSTER);
+ this.socketCreator =
+ SocketCreatorFactory.getSocketCreatorForComponent(this.distributionConfig, CLUSTER);
- this.localHost = InetAddress.getLocalHost();
+ this.localHost = LocalHostUtil.getLocalHost();
}
@After
public void tearDown() throws Exception {
+ SocketCreatorFactory.close();
if (this.clientSocket != null) {
this.clientSocket.close();
}
@@ -150,7 +153,6 @@ public class SSLSocketIntegrationTest {
if (this.serverThread != null && this.serverThread.isAlive()) {
this.serverThread.interrupt();
}
- SocketCreatorFactory.close();
}
@Test
@@ -372,7 +374,7 @@ public class SSLSocketIntegrationTest {
// a client SSL socket to it and demonstrate that the
// handshake times out
final ServerSocket serverSocket = new ServerSocket();
- serverSocket.bind(new InetSocketAddress(SocketCreator.getLocalHost(), 0));
+ serverSocket.bind(new InetSocketAddress(LocalHostUtil.getLocalHost(), 0));
Thread serverThread = new Thread() {
@Override
public void run() {
@@ -406,7 +408,7 @@ public class SSLSocketIntegrationTest {
await("connect to server socket").until(() -> {
try {
Socket clientSocket = socketCreator.connectForClient(
- SocketCreator.getLocalHost().getHostAddress(), serverSocketPort, 500);
+ LocalHostUtil.getLocalHost().getHostAddress(), serverSocketPort, 500);
clientSocket.close();
System.err.println(
"client successfully connected to server but should not have been able to do so");
diff --git a/geode-core/src/integrationTest/java/org/apache/geode/internal/statistics/GemFireStatSamplerIntegrationTest.java b/geode-core/src/integrationTest/java/org/apache/geode/internal/statistics/GemFireStatSamplerIntegrationTest.java
index e49dff3..ffe275a 100644
--- a/geode-core/src/integrationTest/java/org/apache/geode/internal/statistics/GemFireStatSamplerIntegrationTest.java
+++ b/geode-core/src/integrationTest/java/org/apache/geode/internal/statistics/GemFireStatSamplerIntegrationTest.java
@@ -33,8 +33,8 @@ import static org.apache.geode.internal.GemFireVersion.getGemFireVersion;
import static org.apache.geode.internal.GemFireVersion.getSourceDate;
import static org.apache.geode.internal.cache.control.HeapMemoryMonitor.getTenuredMemoryPoolMXBean;
import static org.apache.geode.internal.cache.control.HeapMemoryMonitor.getTenuredPoolStatistics;
+import static org.apache.geode.internal.inet.LocalHostUtil.getLocalHost;
import static org.apache.geode.internal.net.SocketCreator.getHostName;
-import static org.apache.geode.internal.net.SocketCreator.getLocalHost;
import static org.apache.geode.internal.statistics.HostStatSampler.TEST_FILE_SIZE_LIMIT_IN_KB_PROPERTY;
import static org.apache.geode.test.awaitility.GeodeAwaitility.await;
import static org.assertj.core.api.Assertions.assertThat;
diff --git a/geode-core/src/integrationTest/java/org/apache/geode/internal/statistics/SimpleStatSamplerIntegrationTest.java b/geode-core/src/integrationTest/java/org/apache/geode/internal/statistics/SimpleStatSamplerIntegrationTest.java
index e5d2df9..c8b7040 100755
--- a/geode-core/src/integrationTest/java/org/apache/geode/internal/statistics/SimpleStatSamplerIntegrationTest.java
+++ b/geode-core/src/integrationTest/java/org/apache/geode/internal/statistics/SimpleStatSamplerIntegrationTest.java
@@ -35,6 +35,7 @@ import org.junit.rules.TestName;
import org.apache.geode.CancelCriterion;
import org.apache.geode.Statistics;
import org.apache.geode.StatisticsType;
+import org.apache.geode.internal.inet.LocalHostUtil;
import org.apache.geode.internal.net.SocketCreator;
import org.apache.geode.internal.stats50.VMStats50;
import org.apache.geode.test.junit.categories.StatisticsTest;
@@ -99,7 +100,7 @@ public class SimpleStatSamplerIntegrationTest extends StatSamplerTestCase {
assertTrue(statsCount > 0);
assertTrue(statSampler.getSystemStartTime() <= System.currentTimeMillis());
- assertEquals(SocketCreator.getHostName(SocketCreator.getLocalHost()),
+ assertEquals(SocketCreator.getHostName(LocalHostUtil.getLocalHost()),
statSampler.getSystemDirectoryPath());
VMStatsContract vmStats = statSampler.getVMStats();
diff --git a/geode-core/src/integrationTest/java/org/apache/geode/management/internal/FederatingManagerConcurrencyIntegrationTest.java b/geode-core/src/integrationTest/java/org/apache/geode/management/internal/FederatingManagerConcurrencyIntegrationTest.java
index 4be6b4a..2efe96e 100644
--- a/geode-core/src/integrationTest/java/org/apache/geode/management/internal/FederatingManagerConcurrencyIntegrationTest.java
+++ b/geode-core/src/integrationTest/java/org/apache/geode/management/internal/FederatingManagerConcurrencyIntegrationTest.java
@@ -15,7 +15,7 @@
package org.apache.geode.management.internal;
import static org.apache.geode.distributed.ConfigurationProperties.LOCATORS;
-import static org.apache.geode.internal.net.SocketCreator.getLocalHost;
+import static org.apache.geode.internal.inet.LocalHostUtil.getLocalHost;
import static org.apache.geode.management.internal.SystemManagementService.FEDERATING_MANAGER_FACTORY_PROPERTY;
import static org.apache.geode.test.awaitility.GeodeAwaitility.await;
import static org.assertj.core.api.Assertions.assertThat;
diff --git a/geode-core/src/main/java/org/apache/geode/admin/GemFireMemberStatus.java b/geode-core/src/main/java/org/apache/geode/admin/GemFireMemberStatus.java
index a790ca2..976adb3 100755
--- a/geode-core/src/main/java/org/apache/geode/admin/GemFireMemberStatus.java
+++ b/geode-core/src/main/java/org/apache/geode/admin/GemFireMemberStatus.java
@@ -45,7 +45,7 @@ import org.apache.geode.internal.cache.PartitionedRegionStatus;
import org.apache.geode.internal.cache.RegionStatus;
import org.apache.geode.internal.cache.tier.InternalClientMembership;
import org.apache.geode.internal.cache.tier.sockets.ClientProxyMembershipID;
-import org.apache.geode.internal.net.SocketCreator;
+import org.apache.geode.internal.inet.LocalHostUtil;
/**
* Class <code>GemFireMemberStatus</code> provides the status of a specific GemFire member VM. This
@@ -616,7 +616,7 @@ public class GemFireMemberStatus implements Serializable {
setUpTime(System.currentTimeMillis() - ids.getStartTime());
try {
setHostAddress((bindAddress != null && bindAddress.length() > 0)
- ? InetAddress.getByName(bindAddress) : SocketCreator.getLocalHost());
+ ? InetAddress.getByName(bindAddress) : LocalHostUtil.getLocalHost());
} catch (IOException e) {
/* ignore - leave null host address */}
}
diff --git a/geode-core/src/main/java/org/apache/geode/admin/internal/DistributedSystemHealthMonitor.java b/geode-core/src/main/java/org/apache/geode/admin/internal/DistributedSystemHealthMonitor.java
index d57e64d..c34aa10 100644
--- a/geode-core/src/main/java/org/apache/geode/admin/internal/DistributedSystemHealthMonitor.java
+++ b/geode-core/src/main/java/org/apache/geode/admin/internal/DistributedSystemHealthMonitor.java
@@ -42,7 +42,7 @@ import org.apache.geode.internal.admin.Stat;
import org.apache.geode.internal.admin.StatAlertDefinition;
import org.apache.geode.internal.admin.StatListener;
import org.apache.geode.internal.admin.StatResource;
-import org.apache.geode.internal.net.SocketCreator;
+import org.apache.geode.internal.inet.LocalHostUtil;
import org.apache.geode.logging.internal.executors.LoggingThread;
import org.apache.geode.logging.internal.log4j.api.LogService;
@@ -204,7 +204,7 @@ class DistributedSystemHealthMonitor implements Runnable, GemFireVM {
@Override
public java.net.InetAddress getHost() {
try {
- return SocketCreator.getLocalHost();
+ return LocalHostUtil.getLocalHost();
} catch (Exception ex) {
throw new org.apache.geode.InternalGemFireException(
diff --git a/geode-core/src/main/java/org/apache/geode/admin/internal/ManagedEntityConfigImpl.java b/geode-core/src/main/java/org/apache/geode/admin/internal/ManagedEntityConfigImpl.java
index f67cb62..540981a 100644
--- a/geode-core/src/main/java/org/apache/geode/admin/internal/ManagedEntityConfigImpl.java
+++ b/geode-core/src/main/java/org/apache/geode/admin/internal/ManagedEntityConfigImpl.java
@@ -24,6 +24,7 @@ import java.net.UnknownHostException;
import org.apache.geode.admin.ManagedEntityConfig;
import org.apache.geode.internal.GemFireVersion;
import org.apache.geode.internal.admin.GemFireVM;
+import org.apache.geode.internal.inet.LocalHostUtil;
import org.apache.geode.internal.net.SocketCreator;
/**
@@ -61,7 +62,7 @@ public abstract class ManagedEntityConfigImpl implements ManagedEntityConfig {
*/
protected static String getLocalHostName() {
try {
- return SocketCreator.getLocalHost().getCanonicalHostName();
+ return LocalHostUtil.getLocalHost().getCanonicalHostName();
} catch (UnknownHostException ex) {
IllegalStateException ex2 = new IllegalStateException(
diff --git a/geode-core/src/main/java/org/apache/geode/distributed/Locator.java b/geode-core/src/main/java/org/apache/geode/distributed/Locator.java
index 413651f..01e2b66 100644
--- a/geode-core/src/main/java/org/apache/geode/distributed/Locator.java
+++ b/geode-core/src/main/java/org/apache/geode/distributed/Locator.java
@@ -22,6 +22,7 @@ import java.util.List;
import java.util.Properties;
import org.apache.geode.distributed.internal.InternalLocator;
+import org.apache.geode.internal.inet.LocalHostUtil;
import org.apache.geode.internal.net.SocketCreator;
/**
@@ -385,7 +386,7 @@ public abstract class Locator {
Object ba = this.bindAddress;
if (ba == null) {
try {
- ba = SocketCreator.getHostName(SocketCreator.getLocalHost());
+ ba = SocketCreator.getHostName(LocalHostUtil.getLocalHost());
} catch (java.net.UnknownHostException uh) {
}
}
diff --git a/geode-core/src/main/java/org/apache/geode/distributed/LocatorLauncher.java b/geode-core/src/main/java/org/apache/geode/distributed/LocatorLauncher.java
index f219cc4..d6ec7cc 100644
--- a/geode-core/src/main/java/org/apache/geode/distributed/LocatorLauncher.java
+++ b/geode-core/src/main/java/org/apache/geode/distributed/LocatorLauncher.java
@@ -68,6 +68,7 @@ import org.apache.geode.internal.DistributionLocator;
import org.apache.geode.internal.GemFireVersion;
import org.apache.geode.internal.InternalDataSerializer;
import org.apache.geode.internal.admin.SSLConfig;
+import org.apache.geode.internal.inet.LocalHostUtil;
import org.apache.geode.internal.lang.ObjectUtils;
import org.apache.geode.internal.net.SSLConfigurationFactory;
import org.apache.geode.internal.net.SocketCreator;
@@ -448,7 +449,7 @@ public class LocatorLauncher extends AbstractLauncher<String> {
return getBindAddress().getCanonicalHostName();
}
- InetAddress localhost = SocketCreator.getLocalHost();
+ InetAddress localhost = LocalHostUtil.getLocalHost();
return localhost.getCanonicalHostName();
} catch (UnknownHostException handled) {
@@ -1591,7 +1592,7 @@ public class LocatorLauncher extends AbstractLauncher<String> {
} else {
try {
InetAddress address = InetAddress.getByName(bindAddress);
- if (SocketCreator.isLocalHost(address)) {
+ if (LocalHostUtil.isLocalHost(address)) {
this.bindAddress = address;
return this;
} else {
diff --git a/geode-core/src/main/java/org/apache/geode/distributed/ServerLauncher.java b/geode-core/src/main/java/org/apache/geode/distributed/ServerLauncher.java
index 88691f3..9447dff 100755
--- a/geode-core/src/main/java/org/apache/geode/distributed/ServerLauncher.java
+++ b/geode-core/src/main/java/org/apache/geode/distributed/ServerLauncher.java
@@ -80,8 +80,8 @@ import org.apache.geode.internal.cache.InternalCache;
import org.apache.geode.internal.cache.PartitionedRegion;
import org.apache.geode.internal.cache.control.InternalResourceManager;
import org.apache.geode.internal.cache.tier.sockets.CacheServerHelper;
+import org.apache.geode.internal.inet.LocalHostUtil;
import org.apache.geode.internal.lang.ObjectUtils;
-import org.apache.geode.internal.net.SocketCreator;
import org.apache.geode.internal.process.ConnectionFailedException;
import org.apache.geode.internal.process.ControlNotificationHandler;
import org.apache.geode.internal.process.ControllableProcess;
@@ -562,7 +562,7 @@ public class ServerLauncher extends AbstractLauncher<String> {
return getServerBindAddress().getCanonicalHostName();
}
- final InetAddress localhost = SocketCreator.getLocalHost();
+ final InetAddress localhost = LocalHostUtil.getLocalHost();
return localhost.getCanonicalHostName();
} catch (UnknownHostException handled) {
@@ -2105,7 +2105,7 @@ public class ServerLauncher extends AbstractLauncher<String> {
// NOTE only set the 'bind address' if the user specified a value
try {
InetAddress bindAddress = InetAddress.getByName(serverBindAddress);
- if (SocketCreator.isLocalHost(bindAddress)) {
+ if (LocalHostUtil.isLocalHost(bindAddress)) {
this.serverBindAddress = bindAddress;
serverBindAddressSetByUser = true;
return this;
diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/AbstractDistributionConfig.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/AbstractDistributionConfig.java
index 3cab2ef..905bec9 100644
--- a/geode-core/src/main/java/org/apache/geode/distributed/internal/AbstractDistributionConfig.java
+++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/AbstractDistributionConfig.java
@@ -207,8 +207,8 @@ import org.apache.geode.annotations.Immutable;
import org.apache.geode.internal.AbstractConfig;
import org.apache.geode.internal.ConfigSource;
import org.apache.geode.internal.admin.remote.DistributionLocatorId;
+import org.apache.geode.internal.inet.LocalHostUtil;
import org.apache.geode.internal.logging.LogWriterImpl;
-import org.apache.geode.internal.net.SocketCreator;
import org.apache.geode.internal.security.SecurableCommunicationChannel;
import org.apache.geode.logging.internal.log4j.LogLevel;
import org.apache.geode.logging.internal.log4j.api.LogService;
@@ -325,22 +325,22 @@ public abstract class AbstractDistributionConfig extends AbstractConfig
@ConfigAttributeChecker(name = BIND_ADDRESS)
protected String checkBindAddress(String value) {
- if (value != null && value.length() > 0 && !SocketCreator.isLocalHost(value)) {
+ if (value != null && value.length() > 0 && !LocalHostUtil.isLocalHost(value)) {
throw new IllegalArgumentException(
String.format(
"The bind-address %s is not a valid address for this machine. These are the valid addresses for this machine: %s",
- value, SocketCreator.getMyAddresses()));
+ value, LocalHostUtil.getMyAddresses()));
}
return value;
}
@ConfigAttributeChecker(name = SERVER_BIND_ADDRESS)
protected String checkServerBindAddress(String value) {
- if (value != null && value.length() > 0 && !SocketCreator.isLocalHost(value)) {
+ if (value != null && value.length() > 0 && !LocalHostUtil.isLocalHost(value)) {
throw new IllegalArgumentException(
String.format(
"The bind-address %s is not a valid address for this machine. These are the valid addresses for this machine: %s",
- value, SocketCreator.getMyAddresses()));
+ value, LocalHostUtil.getMyAddresses()));
}
return value;
}
@@ -357,11 +357,11 @@ public abstract class AbstractDistributionConfig extends AbstractConfig
@ConfigAttributeChecker(name = HTTP_SERVICE_BIND_ADDRESS)
protected String checkHttpServiceBindAddress(String value) {
- if (value != null && value.length() > 0 && !SocketCreator.isLocalHost(value)) {
+ if (value != null && value.length() > 0 && !LocalHostUtil.isLocalHost(value)) {
throw new IllegalArgumentException(
String.format(
"The bind-address %s is not a valid address for this machine. These are the valid addresses for this machine: %s",
- value, SocketCreator.getMyAddresses()));
+ value, LocalHostUtil.getMyAddresses()));
}
return value;
}
@@ -656,22 +656,22 @@ public abstract class AbstractDistributionConfig extends AbstractConfig
@ConfigAttributeChecker(name = MEMCACHED_BIND_ADDRESS)
protected String checkMemcachedBindAddress(String value) {
- if (value != null && value.length() > 0 && !SocketCreator.isLocalHost(value)) {
+ if (value != null && value.length() > 0 && !LocalHostUtil.isLocalHost(value)) {
throw new IllegalArgumentException(
String.format(
"The memcached-bind-address %s is not a valid address for this machine. These are the valid addresses for this machine: %s",
- value, SocketCreator.getMyAddresses()));
+ value, LocalHostUtil.getMyAddresses()));
}
return value;
}
@ConfigAttributeChecker(name = REDIS_BIND_ADDRESS)
protected String checkRedisBindAddress(String value) {
- if (value != null && value.length() > 0 && !SocketCreator.isLocalHost(value)) {
+ if (value != null && value.length() > 0 && !LocalHostUtil.isLocalHost(value)) {
throw new IllegalArgumentException(
String.format(
"The redis-bind-address %s is not a valid address for this machine. These are the valid addresses for this machine: %s",
- value, SocketCreator.getMyAddresses()));
+ value, LocalHostUtil.getMyAddresses()));
}
return value;
}
diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/ClusterDistributionManager.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/ClusterDistributionManager.java
index bd195f3..82fb8ef 100644
--- a/geode-core/src/main/java/org/apache/geode/distributed/internal/ClusterDistributionManager.java
+++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/ClusterDistributionManager.java
@@ -77,9 +77,9 @@ import org.apache.geode.internal.admin.remote.RemoteGfManagerAgent;
import org.apache.geode.internal.admin.remote.RemoteTransportConfig;
import org.apache.geode.internal.cache.InitialImageOperation;
import org.apache.geode.internal.cache.InternalCache;
+import org.apache.geode.internal.inet.LocalHostUtil;
import org.apache.geode.internal.logging.log4j.LogMarker;
import org.apache.geode.internal.monitoring.ThreadsMonitoring;
-import org.apache.geode.internal.net.SocketCreator;
import org.apache.geode.internal.sequencelog.MembershipLogger;
import org.apache.geode.internal.serialization.Version;
import org.apache.geode.internal.tcp.ConnectionTable;
@@ -1576,7 +1576,7 @@ public class ClusterDistributionManager implements DistributionManager {
// no network interface
equivs = new HashSet<>();
try {
- equivs.add(SocketCreator.getLocalHost());
+ equivs.add(LocalHostUtil.getLocalHost());
} catch (UnknownHostException e) {
// can't even get localhost
if (getViewMembers().size() > 1) {
diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/DistributionConfigImpl.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/DistributionConfigImpl.java
index c1a772b..c194ee1 100644
--- a/geode-core/src/main/java/org/apache/geode/distributed/internal/DistributionConfigImpl.java
+++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/DistributionConfigImpl.java
@@ -88,6 +88,7 @@ import org.apache.geode.GemFireIOException;
import org.apache.geode.InternalGemFireException;
import org.apache.geode.distributed.DistributedSystem;
import org.apache.geode.internal.ConfigSource;
+import org.apache.geode.internal.inet.LocalHostUtil;
import org.apache.geode.internal.net.SocketCreator;
import org.apache.geode.internal.process.ProcessLauncherContext;
import org.apache.geode.internal.security.SecurableCommunicationChannel;
@@ -1768,7 +1769,7 @@ public class DistributionConfigImpl extends AbstractDistributionConfig implement
return bindAddress + "[" + startLocatorPort + "]";
}
try {
- return SocketCreator.getHostName(SocketCreator.getLocalHost()) + "[" + startLocatorPort
+ return SocketCreator.getHostName(LocalHostUtil.getLocalHost()) + "[" + startLocatorPort
+ "]";
} catch (UnknownHostException ignore) {
// punt and use this.startLocator instead
diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/InternalLocator.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/InternalLocator.java
index e4a0ecb..e341b68 100644
--- a/geode-core/src/main/java/org/apache/geode/distributed/internal/InternalLocator.java
+++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/InternalLocator.java
@@ -77,9 +77,9 @@ import org.apache.geode.internal.cache.InternalCacheBuilder;
import org.apache.geode.internal.cache.tier.sockets.TcpServerFactory;
import org.apache.geode.internal.cache.wan.WANServiceProvider;
import org.apache.geode.internal.config.JAXBService;
+import org.apache.geode.internal.inet.LocalHostUtil;
import org.apache.geode.internal.logging.InternalLogWriter;
import org.apache.geode.internal.logging.LogWriterFactory;
-import org.apache.geode.internal.net.SocketCreator;
import org.apache.geode.internal.net.SocketCreatorFactory;
import org.apache.geode.internal.security.SecurableCommunicationChannel;
import org.apache.geode.internal.statistics.StatisticsConfig;
@@ -666,7 +666,7 @@ public class InternalLocator extends Locator implements ConnectListener, LogConf
if (bindAddress != null) {
sb.append(bindAddress.getHostAddress());
} else {
- sb.append(SocketCreator.getLocalHost().getHostAddress());
+ sb.append(LocalHostUtil.getLocalHost().getHostAddress());
}
sb.append('[').append(getPort()).append(']');
String thisLocator = sb.toString();
@@ -1317,7 +1317,7 @@ public class InternalLocator extends Locator implements ConnectListener, LogConf
public void onConnect(InternalDistributedSystem sys) {
try {
locatorStats.hookupStats(sys,
- SocketCreator.getLocalHost().getCanonicalHostName() + '-' + server.getBindAddress());
+ LocalHostUtil.getLocalHost().getCanonicalHostName() + '-' + server.getBindAddress());
} catch (UnknownHostException e) {
logger.warn(e);
}
diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/LonerDistributionManager.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/LonerDistributionManager.java
index d9d181c..3638a25 100644
--- a/geode-core/src/main/java/org/apache/geode/distributed/internal/LonerDistributionManager.java
+++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/LonerDistributionManager.java
@@ -49,6 +49,7 @@ import org.apache.geode.distributed.internal.membership.InternalDistributedMembe
import org.apache.geode.distributed.internal.membership.gms.api.MemberDataBuilder;
import org.apache.geode.i18n.LogWriterI18n;
import org.apache.geode.internal.cache.InternalCache;
+import org.apache.geode.internal.inet.LocalHostUtil;
import org.apache.geode.internal.logging.InternalLogWriter;
import org.apache.geode.internal.monitoring.ThreadsMonitoring;
import org.apache.geode.internal.monitoring.ThreadsMonitoringImpl;
@@ -1204,7 +1205,7 @@ public class LonerDistributionManager implements DistributionManager {
String name = this.system.getName();
- InetAddress hostAddr = SocketCreator.getLocalHost();
+ InetAddress hostAddr = LocalHostUtil.getLocalHost();
host = SocketCreator.use_client_host_name ? hostAddr.getCanonicalHostName()
: hostAddr.getHostAddress();
DistributionConfig config = system.getConfig();
diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/ServerLocation.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/ServerLocation.java
index 0c90289..54b10cf 100644
--- a/geode-core/src/main/java/org/apache/geode/distributed/internal/ServerLocation.java
+++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/ServerLocation.java
@@ -22,7 +22,7 @@ import java.util.concurrent.atomic.AtomicInteger;
import org.apache.geode.DataSerializable;
import org.apache.geode.DataSerializer;
-import org.apache.geode.internal.net.SocketCreator;
+import org.apache.geode.internal.inet.LocalHostUtil;
/**
* Represents the location of a cache server. This class is preferable to InetSocketAddress because
@@ -112,7 +112,7 @@ public class ServerLocation implements DataSerializable, Comparable {
} else if (!hostName.equals(other.hostName)) {
String canonicalHostName;
try {
- canonicalHostName = SocketCreator.getLocalHost().getCanonicalHostName();
+ canonicalHostName = LocalHostUtil.getLocalHost().getCanonicalHostName();
} catch (UnknownHostException e) {
throw new IllegalStateException("getLocalHost failed with " + e);
}
diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/ServerLocator.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/ServerLocator.java
index 5ff5dde..5240b82 100755
--- a/geode-core/src/main/java/org/apache/geode/distributed/internal/ServerLocator.java
+++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/ServerLocator.java
@@ -55,7 +55,7 @@ import org.apache.geode.internal.cache.ControllerAdvisor;
import org.apache.geode.internal.cache.ControllerAdvisor.ControllerProfile;
import org.apache.geode.internal.cache.FindDurableQueueProcessor;
import org.apache.geode.internal.cache.GridAdvisor.GridProfile;
-import org.apache.geode.internal.net.SocketCreator;
+import org.apache.geode.internal.inet.LocalHostUtil;
import org.apache.geode.internal.serialization.DataSerializableFixedID;
import org.apache.geode.logging.internal.log4j.api.LogService;
@@ -94,7 +94,7 @@ public class ServerLocator implements RestartableTcpHandler, DistributionAdvisee
ServerLocator() throws IOException {
this.port = 10334;
- this.hostName = SocketCreator.getLocalHost().getCanonicalHostName();
+ this.hostName = LocalHostUtil.getLocalHost().getCanonicalHostName();
this.hostNameForClients = this.hostName;
this.logFile = null;
this.memberName = null;
@@ -113,7 +113,7 @@ public class ServerLocator implements RestartableTcpHandler, DistributionAdvisee
this.port = port;
if (bindAddress == null) {
- this.hostName = SocketCreator.getLocalHost().getCanonicalHostName();
+ this.hostName = LocalHostUtil.getLocalHost().getCanonicalHostName();
} else {
this.hostName = bindAddress.getHostAddress();
}
diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/StartupMessage.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/StartupMessage.java
index 9c14bb3..d4a2bc7 100644
--- a/geode-core/src/main/java/org/apache/geode/distributed/internal/StartupMessage.java
+++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/StartupMessage.java
@@ -33,7 +33,7 @@ import org.apache.geode.internal.InternalDataSerializer;
import org.apache.geode.internal.InternalDataSerializer.SerializerAttributesHolder;
import org.apache.geode.internal.InternalInstantiator;
import org.apache.geode.internal.InternalInstantiator.InstantiatorAttributesHolder;
-import org.apache.geode.internal.net.SocketCreator;
+import org.apache.geode.internal.inet.LocalHostUtil;
import org.apache.geode.internal.serialization.DeserializationContext;
import org.apache.geode.internal.serialization.SerializationContext;
import org.apache.geode.internal.serialization.Version;
@@ -69,7 +69,7 @@ public class StartupMessage extends DistributionMessage implements AdminMessageT
*/
public static Set<InetAddress> getMyAddresses(ClusterDistributionManager dm) {
try {
- return SocketCreator.getMyAddresses();
+ return LocalHostUtil.getMyAddresses();
} catch (IllegalArgumentException e) {
logger.fatal(e.getMessage(), e);
return Collections.emptySet();
diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/direct/DirectChannel.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/direct/DirectChannel.java
index ed92af6..6fcf531 100644
--- a/geode-core/src/main/java/org/apache/geode/distributed/internal/direct/DirectChannel.java
+++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/direct/DirectChannel.java
@@ -49,8 +49,8 @@ import org.apache.geode.distributed.internal.membership.gms.api.MemberShunnedExc
import org.apache.geode.distributed.internal.membership.gms.api.Membership;
import org.apache.geode.distributed.internal.membership.gms.api.MessageListener;
import org.apache.geode.internal.cache.DirectReplyMessage;
+import org.apache.geode.internal.inet.LocalHostUtil;
import org.apache.geode.internal.logging.log4j.LogMarker;
-import org.apache.geode.internal.net.SocketCreator;
import org.apache.geode.internal.tcp.BaseMsgStreamer;
import org.apache.geode.internal.tcp.ConnectExceptions;
import org.apache.geode.internal.tcp.Connection;
@@ -795,7 +795,7 @@ public class DirectChannel {
return InetAddress.getByName(bindAddress);
} else {
- return SocketCreator.getLocalHost();
+ return LocalHostUtil.getLocalHost();
}
} catch (java.net.UnknownHostException unhe) {
throw new RuntimeException(unhe);
diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/InternalDistributedMember.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/InternalDistributedMember.java
index c9d6955..1c5dfd0 100755
--- a/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/InternalDistributedMember.java
+++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/InternalDistributedMember.java
@@ -49,6 +49,7 @@ import org.apache.geode.internal.Assert;
import org.apache.geode.internal.InternalDataSerializer;
import org.apache.geode.internal.OSProcess;
import org.apache.geode.internal.cache.versions.VersionSource;
+import org.apache.geode.internal.inet.LocalHostUtil;
import org.apache.geode.internal.net.SocketCreator;
import org.apache.geode.internal.serialization.DataSerializableFixedID;
import org.apache.geode.internal.serialization.DeserializationContext;
@@ -141,9 +142,9 @@ public class InternalDistributedMember
memberData.setProcessId(OSProcess.getId());
try {
if (SocketCreator.resolve_dns) {
- memberData.setHostName(SocketCreator.getHostName(SocketCreator.getLocalHost()));
+ memberData.setHostName(SocketCreator.getHostName(LocalHostUtil.getLocalHost()));
} else {
- memberData.setHostName(SocketCreator.getLocalHost().getHostAddress());
+ memberData.setHostName(LocalHostUtil.getLocalHost().getHostAddress());
}
} catch (UnknownHostException ee) {
throw new InternalGemFireError(ee);
@@ -280,7 +281,7 @@ public class InternalDistributedMember
*/
public InternalDistributedMember(String host, int p, String n, String u, int vmKind,
String[] groups, DurableClientAttributes attr) throws UnknownHostException {
- InetAddress addr = SocketCreator.toInetAddress(host);
+ InetAddress addr = LocalHostUtil.toInetAddress(host);
MemberDataBuilder builder = MemberDataBuilder.newBuilder(addr, host)
.setName(n)
.setMembershipPort(p)
diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/adapter/TcpSocketCreatorAdapter.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/adapter/TcpSocketCreatorAdapter.java
index 09be3e2..f3c1724 100644
--- a/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/adapter/TcpSocketCreatorAdapter.java
+++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/adapter/TcpSocketCreatorAdapter.java
@@ -24,6 +24,7 @@ import java.util.Objects;
import org.apache.geode.distributed.internal.tcpserver.ConnectionWatcher;
import org.apache.geode.distributed.internal.tcpserver.TcpSocketCreator;
+import org.apache.geode.internal.inet.LocalHostUtil;
import org.apache.geode.internal.net.SocketCreator;
/**
@@ -62,7 +63,7 @@ public class TcpSocketCreatorAdapter implements TcpSocketCreator {
@Override
public InetAddress getLocalHost() throws UnknownHostException {
- return SocketCreator.getLocalHost();
+ return LocalHostUtil.getLocalHost();
}
@Override
diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/GMSUtil.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/GMSUtil.java
index 0708de3..69edc05 100644
--- a/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/GMSUtil.java
+++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/GMSUtil.java
@@ -31,7 +31,7 @@ import org.apache.logging.log4j.Logger;
import org.apache.geode.distributed.internal.membership.gms.api.MemberIdentifier;
import org.apache.geode.distributed.internal.membership.gms.api.MembershipConfigurationException;
import org.apache.geode.distributed.internal.membership.gms.membership.HostAddress;
-import org.apache.geode.internal.net.SocketCreator;
+import org.apache.geode.internal.inet.LocalHostUtil;
import org.apache.geode.internal.serialization.DeserializationContext;
import org.apache.geode.internal.serialization.SerializationContext;
import org.apache.geode.internal.serialization.StaticSerialization;
@@ -53,7 +53,7 @@ public class GMSUtil {
try {
if (bindAddress == null || bindAddress.trim().length() == 0) {
- addr = SocketCreator.getLocalHost();
+ addr = LocalHostUtil.getLocalHost();
} else {
addr = InetAddress.getByName(bindAddress);
}
diff --git a/geode-core/src/main/java/org/apache/geode/internal/AvailablePort.java b/geode-core/src/main/java/org/apache/geode/internal/AvailablePort.java
index cda0877..cebbd39 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/AvailablePort.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/AvailablePort.java
@@ -33,7 +33,7 @@ import java.util.Random;
import org.apache.geode.annotations.Immutable;
import org.apache.geode.distributed.internal.DistributionConfig;
-import org.apache.geode.internal.net.SocketCreator;
+import org.apache.geode.internal.inet.LocalHostUtil;
/**
* This class determines whether or not a given port is available and can also provide a randomly
@@ -108,7 +108,7 @@ public class AvailablePort {
MulticastSocket socket = null;
try {
socket = new MulticastSocket();
- InetAddress localHost = SocketCreator.getLocalHost();
+ InetAddress localHost = LocalHostUtil.getLocalHost();
socket.setInterface(localHost);
socket.setSoTimeout(Integer.getInteger("AvailablePort.timeout", 2000).intValue());
socket.setReuseAddress(true);
diff --git a/geode-core/src/main/java/org/apache/geode/internal/VersionDescription.java b/geode-core/src/main/java/org/apache/geode/internal/VersionDescription.java
index 686f16c..89f87f9 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/VersionDescription.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/VersionDescription.java
@@ -26,7 +26,7 @@ import java.util.Optional;
import java.util.Properties;
import java.util.TreeMap;
-import org.apache.geode.internal.net.SocketCreator;
+import org.apache.geode.internal.inet.LocalHostUtil;
public class VersionDescription {
public static final String RESOURCE_NAME = "GemFireVersion.properties";
@@ -138,7 +138,7 @@ public class VersionDescription {
private static String getLocalHost() {
try {
- return SocketCreator.getLocalHost().toString();
+ return LocalHostUtil.getLocalHost().toString();
} catch (UnknownHostException e) {
return e.getMessage();
}
diff --git a/geode-core/src/main/java/org/apache/geode/internal/admin/remote/DistributionLocatorId.java b/geode-core/src/main/java/org/apache/geode/internal/admin/remote/DistributionLocatorId.java
index 066cce6..c6f0874 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/admin/remote/DistributionLocatorId.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/admin/remote/DistributionLocatorId.java
@@ -29,6 +29,7 @@ import org.apache.geode.InternalGemFireException;
import org.apache.geode.distributed.Locator;
import org.apache.geode.distributed.internal.DistributionConfig;
import org.apache.geode.internal.admin.SSLConfig;
+import org.apache.geode.internal.inet.LocalHostUtil;
import org.apache.geode.internal.net.SocketCreator;
/**
@@ -70,7 +71,7 @@ public class DistributionLocatorId implements java.io.Serializable {
public DistributionLocatorId(int port, String bindAddress, String hostnameForClients) {
try {
- this.host = SocketCreator.getLocalHost();
+ this.host = LocalHostUtil.getLocalHost();
} catch (UnknownHostException ex) {
throw new InternalGemFireException(
"Failed getting local host", ex);
@@ -356,7 +357,7 @@ public class DistributionLocatorId implements java.io.Serializable {
/**
* Converts a collection of {@link Locator} instances to a collection of DistributionLocatorId
- * instances. Note this will use {@link SocketCreator#getLocalHost()} as the host for
+ * instances. Note this will use {@link LocalHostUtil#getLocalHost()} as the host for
* DistributionLocatorId. This is because all instances of Locator are local only.
*
* @param locators collection of Locator instances
@@ -371,7 +372,7 @@ public class DistributionLocatorId implements java.io.Serializable {
Collection<DistributionLocatorId> locatorIds = new ArrayList<DistributionLocatorId>();
for (Locator locator : locators) {
DistributionLocatorId locatorId =
- new DistributionLocatorId(SocketCreator.getLocalHost(), locator);
+ new DistributionLocatorId(LocalHostUtil.getLocalHost(), locator);
locatorIds.add(locatorId);
}
return locatorIds;
@@ -379,7 +380,7 @@ public class DistributionLocatorId implements java.io.Serializable {
/**
* Marshals a collection of {@link Locator} instances to a collection of DistributionLocatorId
- * instances. Note this will use {@link SocketCreator#getLocalHost()} as the host for
+ * instances. Note this will use {@link LocalHostUtil#getLocalHost()} as the host for
* DistributionLocatorId. This is because all instances of Locator are local only.
*
* @param locatorIds collection of DistributionLocatorId instances
diff --git a/geode-core/src/main/java/org/apache/geode/internal/admin/remote/FetchHostResponse.java b/geode-core/src/main/java/org/apache/geode/internal/admin/remote/FetchHostResponse.java
index 2af8f31..04f693b 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/admin/remote/FetchHostResponse.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/admin/remote/FetchHostResponse.java
@@ -31,7 +31,7 @@ import org.apache.geode.distributed.internal.DistributionConfig;
import org.apache.geode.distributed.internal.DistributionManager;
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.GemFireVersion;
-import org.apache.geode.internal.net.SocketCreator;
+import org.apache.geode.internal.inet.LocalHostUtil;
import org.apache.geode.internal.serialization.DeserializationContext;
import org.apache.geode.internal.serialization.SerializationContext;
import org.apache.geode.logging.internal.log4j.api.LogService;
@@ -74,7 +74,7 @@ public class FetchHostResponse extends AdminResponse {
// handled in the finally block
} finally {
if (host == null) {
- host = SocketCreator.getLocalHost();
+ host = LocalHostUtil.getLocalHost();
}
}
m.host = host;
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/GemFireCacheImpl.java b/geode-core/src/main/java/org/apache/geode/internal/cache/GemFireCacheImpl.java
index 57836f5..ad31848 100755
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/GemFireCacheImpl.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/GemFireCacheImpl.java
@@ -244,6 +244,7 @@ import org.apache.geode.internal.cache.xmlcache.CacheXmlParser;
import org.apache.geode.internal.cache.xmlcache.CacheXmlPropertyResolver;
import org.apache.geode.internal.cache.xmlcache.PropertyResolver;
import org.apache.geode.internal.config.ClusterConfigurationNotAvailableException;
+import org.apache.geode.internal.inet.LocalHostUtil;
import org.apache.geode.internal.jndi.JNDIInvoker;
import org.apache.geode.internal.jta.TransactionManagerImpl;
import org.apache.geode.internal.lang.ThrowableUtils;
@@ -2766,7 +2767,7 @@ public class GemFireCacheImpl implements InternalCache, InternalClientCache, Has
private PoolFactory createDefaultPF() {
PoolFactory defaultPoolFactory = PoolManager.createFactory();
try {
- String localHostName = SocketCreator.getHostName(SocketCreator.getLocalHost());
+ String localHostName = SocketCreator.getHostName(LocalHostUtil.getLocalHost());
defaultPoolFactory.addServer(localHostName, CacheServer.DEFAULT_PORT);
} catch (UnknownHostException ex) {
throw new IllegalStateException("Could not determine local host name", ex);
@@ -2791,7 +2792,7 @@ public class GemFireCacheImpl implements InternalCache, InternalClientCache, Has
if (poolFactoryImpl.getPoolAttributes().locators.isEmpty()
&& poolFactoryImpl.getPoolAttributes().servers.isEmpty()) {
try {
- String localHostName = SocketCreator.getHostName(SocketCreator.getLocalHost());
+ String localHostName = SocketCreator.getHostName(LocalHostUtil.getLocalHost());
poolFactoryImpl.addServer(localHostName, CacheServer.DEFAULT_PORT);
} catch (UnknownHostException ex) {
throw new IllegalStateException("Could not determine local host name", ex);
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/PersistentBucketRecoverer.java b/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/PersistentBucketRecoverer.java
index b6d4d59..9f228fd 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/PersistentBucketRecoverer.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/PersistentBucketRecoverer.java
@@ -38,7 +38,7 @@ import org.apache.geode.internal.cache.PartitionedRegion;
import org.apache.geode.internal.cache.ProxyBucketRegion;
import org.apache.geode.internal.cache.persistence.PersistentMemberID;
import org.apache.geode.internal.cache.persistence.PersistentStateListener;
-import org.apache.geode.internal.net.SocketCreator;
+import org.apache.geode.internal.inet.LocalHostUtil;
import org.apache.geode.internal.process.StartupStatus;
import org.apache.geode.internal.util.TransformUtils;
import org.apache.geode.logging.internal.executors.LoggingThread;
@@ -291,7 +291,7 @@ public class PersistentBucketRecoverer extends RecoveryRunnable implements Persi
InetAddress localHost = null;
try {
- localHost = SocketCreator.getLocalHost();
+ localHost = LocalHostUtil.getLocalHost();
} catch (UnknownHostException e) {
logger.error("Could not determine my own host", e);
}
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/AcceptorImpl.java b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/AcceptorImpl.java
index 6663051..831c08c 100755
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/AcceptorImpl.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/AcceptorImpl.java
@@ -89,6 +89,7 @@ import org.apache.geode.internal.cache.tier.OverflowAttributes;
import org.apache.geode.internal.cache.tier.sockets.CacheClientNotifier.CacheClientNotifierProvider;
import org.apache.geode.internal.cache.tier.sockets.ClientHealthMonitor.ClientHealthMonitorProvider;
import org.apache.geode.internal.cache.wan.GatewayReceiverStats;
+import org.apache.geode.internal.inet.LocalHostUtil;
import org.apache.geode.internal.logging.CoreLoggingExecutors;
import org.apache.geode.internal.monitoring.ThreadsMonitoring;
import org.apache.geode.internal.net.SocketCreator;
@@ -1199,7 +1200,7 @@ public class AcceptorImpl implements Acceptor, Runnable {
public String getServerName() {
String name = serverSock.getLocalSocketAddress().toString();
try {
- name = SocketCreator.getLocalHost().getCanonicalHostName() + "-" + name;
+ name = LocalHostUtil.getLocalHost().getCanonicalHostName() + "-" + name;
} catch (Exception e) {
}
return name;
@@ -1786,7 +1787,7 @@ public class AcceptorImpl implements Acceptor, Runnable {
}
if (needCanonicalHostName) {
try {
- result = SocketCreator.getLocalHost().getCanonicalHostName();
+ result = LocalHostUtil.getLocalHost().getCanonicalHostName();
} catch (UnknownHostException ex) {
throw new IllegalStateException("getLocalHost failed with " + ex);
}
diff --git a/geode-core/src/main/java/org/apache/geode/internal/net/InetAddressUtils.java b/geode-core/src/main/java/org/apache/geode/internal/net/InetAddressUtils.java
index 79d1f3e..be25a02 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/net/InetAddressUtils.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/net/InetAddressUtils.java
@@ -22,6 +22,7 @@ import java.util.Enumeration;
import org.apache.geode.GemFireIOException;
import org.apache.geode.annotations.Immutable;
+import org.apache.geode.internal.inet.LocalHostUtil;
/**
* Provides static utilities for manipulating, validating, and converting InetAddresses and host
@@ -34,7 +35,7 @@ public class InetAddressUtils {
private static final InetAddress LOCALHOST = getLocalHost();
private static final String LOOPBACK_ADDRESS =
- SocketCreator.preferIPv6Addresses() ? "::1" : "127.0.0.1";
+ LocalHostUtil.preferIPv6Addresses() ? "::1" : "127.0.0.1";
@Immutable
private static final InetAddress LOOPBACK = toInetAddress(LOOPBACK_ADDRESS);
@@ -221,7 +222,7 @@ public class InetAddressUtils {
*/
private static InetAddress getLocalHost() {
try {
- return SocketCreator.getLocalHost();
+ return LocalHostUtil.getLocalHost();
} catch (UnknownHostException e) {
throw new AssertionError("Failed to get local host", e);
}
diff --git a/geode-core/src/main/java/org/apache/geode/internal/net/SocketCreator.java b/geode-core/src/main/java/org/apache/geode/internal/net/SocketCreator.java
index 1983d8e..97f56cb 100755
--- a/geode-core/src/main/java/org/apache/geode/internal/net/SocketCreator.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/net/SocketCreator.java
@@ -19,11 +19,8 @@ import java.io.Console;
import java.io.FileInputStream;
import java.io.IOException;
import java.net.BindException;
-import java.net.Inet4Address;
-import java.net.Inet6Address;
import java.net.InetAddress;
import java.net.InetSocketAddress;
-import java.net.NetworkInterface;
import java.net.ServerSocket;
import java.net.Socket;
import java.net.SocketAddress;
@@ -42,22 +39,12 @@ import java.security.PrivateKey;
import java.security.UnrecoverableKeyException;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;
-import java.util.Enumeration;
-import java.util.HashSet;
-import java.util.Hashtable;
import java.util.List;
import java.util.Map;
import java.util.Properties;
-import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ThreadLocalRandom;
-import javax.naming.Context;
-import javax.naming.NamingEnumeration;
-import javax.naming.directory.Attribute;
-import javax.naming.directory.Attributes;
-import javax.naming.directory.DirContext;
-import javax.naming.directory.InitialDirContext;
import javax.net.ServerSocketFactory;
import javax.net.SocketFactory;
import javax.net.ssl.KeyManager;
@@ -87,12 +74,12 @@ import org.apache.geode.cache.wan.GatewayTransportFilter;
import org.apache.geode.distributed.ClientSocketFactory;
import org.apache.geode.distributed.internal.DistributionConfig;
import org.apache.geode.distributed.internal.DistributionConfigImpl;
-import org.apache.geode.distributed.internal.InternalDistributedSystem;
import org.apache.geode.distributed.internal.tcpserver.ConnectionWatcher;
import org.apache.geode.internal.ClassPathLoader;
import org.apache.geode.internal.admin.SSLConfig;
import org.apache.geode.internal.cache.wan.TransportFilterServerSocket;
import org.apache.geode.internal.cache.wan.TransportFilterSocketFactory;
+import org.apache.geode.internal.inet.LocalHostUtil;
import org.apache.geode.internal.util.ArgumentRedactor;
import org.apache.geode.internal.util.PasswordUtil;
import org.apache.geode.logging.internal.log4j.api.LogService;
@@ -121,30 +108,6 @@ public class SocketCreator {
private static final Logger logger = LogService.getLogger();
- /**
- * Optional system property to enable GemFire usage of link-local addresses
- */
- private static final String USE_LINK_LOCAL_ADDRESSES_PROPERTY =
- DistributionConfig.GEMFIRE_PREFIX + "net.useLinkLocalAddresses";
-
- /**
- * True if GemFire should use link-local addresses
- */
- private static final boolean useLinkLocalAddresses =
- Boolean.getBoolean(USE_LINK_LOCAL_ADDRESSES_PROPERTY);
-
- /**
- * we cache localHost to avoid bug #40619, access-violation in native code
- */
- private static final InetAddress localHost;
-
- /**
- * all classes should use this variable to determine whether to use IPv4 or IPv6 addresses
- */
- @MakeNotStatic
- private static boolean useIPv6Addresses = !Boolean.getBoolean("java.net.preferIPv4Stack")
- && Boolean.getBoolean("java.net.preferIPv6Addresses");
-
@MakeNotStatic
private static final ConcurrentHashMap<InetAddress, String> hostNames = new ConcurrentHashMap<>();
@@ -183,57 +146,6 @@ public class SocketCreator {
private final SSLConfig sslConfig;
- static {
- InetAddress inetAddress = null;
- try {
- inetAddress = InetAddress.getByAddress(InetAddress.getLocalHost().getAddress());
- if (inetAddress.isLoopbackAddress()) {
- InetAddress ipv4Fallback = null;
- InetAddress ipv6Fallback = null;
- // try to find a non-loopback address
- Set<InetAddress> myInterfaces = getMyAddresses();
- boolean preferIPv6 = SocketCreator.useIPv6Addresses;
- String lhName = null;
- for (InetAddress addr : myInterfaces) {
- if (addr.isLoopbackAddress() || addr.isAnyLocalAddress() || lhName != null) {
- break;
- }
- boolean ipv6 = addr instanceof Inet6Address;
- boolean ipv4 = addr instanceof Inet4Address;
- if ((preferIPv6 && ipv6) || (!preferIPv6 && ipv4)) {
- String addrName = reverseDNS(addr);
- if (inetAddress.isLoopbackAddress()) {
- inetAddress = addr;
- lhName = addrName;
- } else if (addrName != null) {
- inetAddress = addr;
- lhName = addrName;
- }
- } else {
- if (preferIPv6 && ipv4 && ipv4Fallback == null) {
- ipv4Fallback = addr;
- } else if (!preferIPv6 && ipv6 && ipv6Fallback == null) {
- ipv6Fallback = addr;
- }
- }
- }
- // vanilla Ubuntu installations will have a usable IPv6 address when
- // running as a guest OS on an IPv6-enabled machine. We also look for
- // the alternative IPv4 configuration.
- if (inetAddress.isLoopbackAddress()) {
- if (ipv4Fallback != null) {
- inetAddress = ipv4Fallback;
- SocketCreator.useIPv6Addresses = false;
- } else if (ipv6Fallback != null) {
- inetAddress = ipv6Fallback;
- SocketCreator.useIPv6Addresses = true;
- }
- }
- }
- } catch (UnknownHostException ignored) {
- }
- localHost = inetAddress;
- }
/**
* A factory used to create client <code>Sockets</code>.
@@ -277,20 +189,10 @@ public class SocketCreator {
// -------------------------------------------------------------------------
/**
- * All GemFire code should use this method instead of InetAddress.getLocalHost(). See bug #40619
+ * @deprecated use LocalHostUtil.getLocalHost()
*/
public static InetAddress getLocalHost() throws UnknownHostException {
- if (localHost == null) {
- throw new UnknownHostException();
- }
- return localHost;
- }
-
- /**
- * All classes should use this instead of relying on the JRE system property
- */
- public static boolean preferIPv6Addresses() {
- return SocketCreator.useIPv6Addresses;
+ return LocalHostUtil.getLocalHost();
}
/**
@@ -1170,153 +1072,4 @@ public class SocketCreator {
.setGatewayTransportFilters(sender.getGatewayTransportFilters());
}
- /**
- * returns a set of the non-loopback InetAddresses for this machine
- */
- public static Set<InetAddress> getMyAddresses() {
- Set<InetAddress> result = new HashSet<>();
- Set<InetAddress> locals = new HashSet<>();
- Enumeration<NetworkInterface> interfaces;
- try {
- interfaces = NetworkInterface.getNetworkInterfaces();
- } catch (SocketException e) {
- throw new IllegalArgumentException(
- "Unable to examine network interfaces",
- e);
- }
- while (interfaces.hasMoreElements()) {
- NetworkInterface face = interfaces.nextElement();
- boolean faceIsUp = false;
- try {
- faceIsUp = face.isUp();
- } catch (SocketException e) {
- InternalDistributedSystem ids = InternalDistributedSystem.getAnyInstance();
- if (ids != null) {
- logger.info("Failed to check if network interface is up. Skipping {}", face, e);
- }
- }
- if (faceIsUp) {
- Enumeration<InetAddress> addrs = face.getInetAddresses();
- while (addrs.hasMoreElements()) {
- InetAddress addr = addrs.nextElement();
- if (addr.isLoopbackAddress() || addr.isAnyLocalAddress()
- || (!useLinkLocalAddresses && addr.isLinkLocalAddress())) {
- locals.add(addr);
- } else {
- result.add(addr);
- }
- } // while
- }
- } // while
- // fix for bug #42427 - allow product to run on a standalone box by using
- // local addresses if there are no non-local addresses available
- if (result.size() == 0) {
- return locals;
- } else {
- return result;
- }
- }
-
- /**
- * This method uses JNDI to look up an address in DNS and return its name
- *
- *
- * @return the host name associated with the address or null if lookup isn't possible or there is
- * no host name for this address
- */
- private static String reverseDNS(InetAddress addr) {
- byte[] addrBytes = addr.getAddress();
- // reverse the address suitable for reverse lookup
- StringBuilder lookup = new StringBuilder();
- for (int index = addrBytes.length - 1; index >= 0; index--) {
- lookup.append(addrBytes[index] & 0xff).append('.');
- }
- lookup.append("in-addr.arpa");
-
- try {
- Hashtable<String, String> env = new Hashtable<>();
- env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.dns.DnsContextFactory");
- DirContext ctx = new InitialDirContext(env);
- Attributes attrs = ctx.getAttributes(lookup.toString(), new String[] {"PTR"});
- for (NamingEnumeration ae = attrs.getAll(); ae.hasMoreElements();) {
- Attribute attr = (Attribute) ae.next();
- for (Enumeration vals = attr.getAll(); vals.hasMoreElements();) {
- Object elem = vals.nextElement();
- if ("PTR".equals(attr.getID()) && elem != null) {
- return elem.toString();
- }
- }
- }
- ctx.close();
- } catch (Exception e) {
- // ignored
- }
- return null;
- }
-
- /**
- * Returns true if host matches the LOCALHOST.
- */
- public static boolean isLocalHost(Object host) {
- if (host instanceof InetAddress) {
- InetAddress inetAddress = (InetAddress) host;
- if (isLocalHost(inetAddress)) {
- return true;
- } else if (inetAddress.isLoopbackAddress()) {
- return true;
- } else {
- try {
- Enumeration en = NetworkInterface.getNetworkInterfaces();
- while (en.hasMoreElements()) {
- NetworkInterface i = (NetworkInterface) en.nextElement();
- for (Enumeration en2 = i.getInetAddresses(); en2.hasMoreElements();) {
- InetAddress addr = (InetAddress) en2.nextElement();
- if (inetAddress.equals(addr)) {
- return true;
- }
- }
- }
- return false;
- } catch (SocketException e) {
- throw new IllegalArgumentException("Unable to query network interface", e);
- }
- }
- } else {
- return isLocalHost((Object) toInetAddress(host.toString()));
- }
- }
-
- private static boolean isLocalHost(InetAddress host) {
- try {
- return SocketCreator.getLocalHost().equals(host);
- } catch (UnknownHostException ignored) {
- return false;
- }
- }
-
- /**
- * Converts the string host to an instance of InetAddress. Returns null if the string is empty.
- * Fails Assertion if the conversion would result in <code>java.lang.UnknownHostException</code>.
- * <p>
- * Any leading slashes on host will be ignored.
- *
- * @param host string version the InetAddress
- *
- * @return the host converted to InetAddress instance
- */
- public static InetAddress toInetAddress(String host) {
- if (host == null || host.length() == 0) {
- return null;
- }
- try {
- final int index = host.indexOf("/");
- if (index > -1) {
- return InetAddress.getByName(host.substring(index + 1));
- } else {
- return InetAddress.getByName(host);
- }
- } catch (java.net.UnknownHostException e) {
- throw new IllegalArgumentException(e.getMessage());
- }
- }
}
diff --git a/geode-core/src/main/java/org/apache/geode/internal/statistics/HostStatSampler.java b/geode-core/src/main/java/org/apache/geode/internal/statistics/HostStatSampler.java
index da43cb7..9cc53f8 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/statistics/HostStatSampler.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/statistics/HostStatSampler.java
@@ -28,6 +28,7 @@ import org.apache.geode.Statistics;
import org.apache.geode.SystemFailure;
import org.apache.geode.distributed.internal.DistributionConfig;
import org.apache.geode.internal.NanoTimer;
+import org.apache.geode.internal.inet.LocalHostUtil;
import org.apache.geode.internal.io.MainWithChildrenRollingFileHandler;
import org.apache.geode.internal.logging.log4j.LogMarker;
import org.apache.geode.internal.net.SocketCreator;
@@ -152,7 +153,7 @@ public abstract class HostStatSampler
@Override
public String getSystemDirectoryPath() {
try {
- return SocketCreator.getHostName(SocketCreator.getLocalHost());
+ return SocketCreator.getHostName(LocalHostUtil.getLocalHost());
} catch (UnknownHostException ignore) {
return "";
}
diff --git a/geode-core/src/main/java/org/apache/geode/internal/statistics/OsStatisticsProvider.java b/geode-core/src/main/java/org/apache/geode/internal/statistics/OsStatisticsProvider.java
index 6fe356a..06d1bad 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/statistics/OsStatisticsProvider.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/statistics/OsStatisticsProvider.java
@@ -18,8 +18,8 @@ import java.net.InetAddress;
import java.net.UnknownHostException;
import org.apache.geode.Statistics;
+import org.apache.geode.internal.inet.LocalHostUtil;
import org.apache.geode.internal.lang.SystemUtils;
-import org.apache.geode.internal.net.SocketCreator;
import org.apache.geode.internal.statistics.platform.LinuxProcFsStatistics;
import org.apache.geode.internal.statistics.platform.LinuxProcessStats;
import org.apache.geode.internal.statistics.platform.LinuxSystemStats;
@@ -134,7 +134,7 @@ public class OsStatisticsProvider {
private String getHostSystemName() {
String hostname = "unknownHostName";
try {
- InetAddress inetAddress = SocketCreator.getLocalHost();
+ InetAddress inetAddress = LocalHostUtil.getLocalHost();
hostname = inetAddress.getCanonicalHostName();
} catch (UnknownHostException ignored) {
}
diff --git a/geode-core/src/main/java/org/apache/geode/internal/statistics/StatArchiveWriter.java b/geode-core/src/main/java/org/apache/geode/internal/statistics/StatArchiveWriter.java
index cefbe6f..20001b1 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/statistics/StatArchiveWriter.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/statistics/StatArchiveWriter.java
@@ -40,6 +40,7 @@ import org.apache.geode.StatisticDescriptor;
import org.apache.geode.annotations.internal.MakeNotStatic;
import org.apache.geode.distributed.internal.DistributionConfig;
import org.apache.geode.internal.NanoTimer;
+import org.apache.geode.internal.inet.LocalHostUtil;
import org.apache.geode.internal.logging.log4j.LogMarker;
import org.apache.geode.internal.net.SocketCreator;
import org.apache.geode.logging.internal.log4j.api.LogService;
@@ -203,7 +204,7 @@ public class StatArchiveWriter implements StatArchiveFormat, SampleHandler {
protected String getMachineInfo() {
String machineInfo = System.getProperty("os.arch");
try {
- String hostName = SocketCreator.getHostName(SocketCreator.getLocalHost());
+ String hostName = SocketCreator.getHostName(LocalHostUtil.getLocalHost());
machineInfo += " " + hostName;
} catch (UnknownHostException ignore) {
}
diff --git a/geode-core/src/main/java/org/apache/geode/internal/tcp/TCPConduit.java b/geode-core/src/main/java/org/apache/geode/internal/tcp/TCPConduit.java
index a5a53fd..0639bc1 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/tcp/TCPConduit.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/tcp/TCPConduit.java
@@ -50,6 +50,7 @@ import org.apache.geode.distributed.internal.direct.DirectChannel;
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.distributed.internal.membership.gms.api.MemberShunnedException;
import org.apache.geode.distributed.internal.membership.gms.api.Membership;
+import org.apache.geode.internal.inet.LocalHostUtil;
import org.apache.geode.internal.logging.log4j.LogMarker;
import org.apache.geode.internal.net.BufferPool;
import org.apache.geode.internal.net.SocketCreator;
@@ -239,7 +240,7 @@ public class TCPConduit implements Runnable {
if (address == null) {
try {
- SocketCreator.getLocalHost();
+ LocalHostUtil.getLocalHost();
} catch (UnknownHostException e) {
throw new ConnectionException("Unable to resolve localHost address", e);
}
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/JmxManagerAdvisee.java b/geode-core/src/main/java/org/apache/geode/management/internal/JmxManagerAdvisee.java
index 292e9d4..9eb8ea3 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/JmxManagerAdvisee.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/JmxManagerAdvisee.java
@@ -25,8 +25,8 @@ import org.apache.geode.distributed.internal.DistributionManager;
import org.apache.geode.distributed.internal.InternalDistributedSystem;
import org.apache.geode.internal.admin.SSLConfig;
import org.apache.geode.internal.cache.InternalCacheForClientAccess;
+import org.apache.geode.internal.inet.LocalHostUtil;
import org.apache.geode.internal.net.SSLConfigurationFactory;
-import org.apache.geode.internal.net.SocketCreator;
import org.apache.geode.internal.security.SecurableCommunicationChannel;
import org.apache.geode.management.ManagementService;
import org.apache.geode.management.internal.JmxManagerAdvisor.JmxManagerProfile;
@@ -127,7 +127,7 @@ public class JmxManagerAdvisee implements DistributionAdvisee {
}
if (host == null || host.equals("")) {
try {
- host = SocketCreator.getLocalHost().getHostAddress(); // fixes 46317
+ host = LocalHostUtil.getLocalHost().getHostAddress(); // fixes 46317
} catch (UnknownHostException ex) {
host = "127.0.0.1";
}
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/ManagementAgent.java b/geode-core/src/main/java/org/apache/geode/management/internal/ManagementAgent.java
index 62dd471..0638ada 100755
--- a/geode-core/src/main/java/org/apache/geode/management/internal/ManagementAgent.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/ManagementAgent.java
@@ -56,6 +56,7 @@ import org.apache.geode.distributed.internal.DistributionConfig;
import org.apache.geode.internal.GemFireVersion;
import org.apache.geode.internal.admin.SSLConfig;
import org.apache.geode.internal.cache.InternalCache;
+import org.apache.geode.internal.inet.LocalHostUtil;
import org.apache.geode.internal.net.SSLConfigurationFactory;
import org.apache.geode.internal.net.SocketCreator;
import org.apache.geode.internal.net.SocketCreatorFactory;
@@ -288,7 +289,7 @@ public class ManagementAgent {
} else if (StringUtils.isNotBlank(bindAddress)) {
return InetAddress.getByName(bindAddress).getHostAddress();
} else {
- return SocketCreator.getLocalHost().getHostAddress();
+ return LocalHostUtil.getLocalHost().getHostAddress();
}
}
@@ -310,7 +311,7 @@ public class ManagementAgent {
final String hostname;
final InetAddress bindAddr;
if (StringUtils.isBlank(this.config.getJmxManagerBindAddress())) {
- hostname = SocketCreator.getLocalHost().getHostName();
+ hostname = LocalHostUtil.getLocalHost().getHostName();
bindAddr = null;
} else {
hostname = this.config.getJmxManagerBindAddress();
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/RestAgent.java b/geode-core/src/main/java/org/apache/geode/management/internal/RestAgent.java
index eedb4cc..84cce29 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/RestAgent.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/RestAgent.java
@@ -34,7 +34,7 @@ import org.apache.geode.distributed.internal.DistributionConfig;
import org.apache.geode.internal.GemFireVersion;
import org.apache.geode.internal.cache.InternalCache;
import org.apache.geode.internal.cache.InternalRegionArguments;
-import org.apache.geode.internal.net.SocketCreator;
+import org.apache.geode.internal.inet.LocalHostUtil;
import org.apache.geode.internal.security.SecurityService;
import org.apache.geode.logging.internal.log4j.api.LogService;
@@ -132,9 +132,9 @@ public class RestAgent {
return bindAddress;
try {
- bindAddress = SocketCreator.getLocalHost().getHostAddress();
+ bindAddress = LocalHostUtil.getLocalHost().getHostAddress();
logger.info("RestAgent.getBindAddressForHttpService.localhost: "
- + SocketCreator.getLocalHost().getHostAddress());
+ + LocalHostUtil.getLocalHost().getHostAddress());
} catch (UnknownHostException e) {
logger.error("LocalHost could not be found.", e);
}
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/beans/MemberMBeanBridge.java b/geode-core/src/main/java/org/apache/geode/management/internal/beans/MemberMBeanBridge.java
index 96d0b6c..5daa606 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/beans/MemberMBeanBridge.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/beans/MemberMBeanBridge.java
@@ -68,8 +68,8 @@ import org.apache.geode.internal.cache.PartitionedRegion;
import org.apache.geode.internal.cache.PartitionedRegionStats;
import org.apache.geode.internal.cache.control.ResourceManagerStats;
import org.apache.geode.internal.cache.execute.metrics.FunctionServiceStats;
+import org.apache.geode.internal.inet.LocalHostUtil;
import org.apache.geode.internal.logging.log4j.LogMarker;
-import org.apache.geode.internal.net.SocketCreator;
import org.apache.geode.internal.offheap.MemoryAllocator;
import org.apache.geode.internal.offheap.OffHeapMemoryStats;
import org.apache.geode.internal.process.PidUnavailableException;
@@ -212,7 +212,7 @@ public class MemberMBeanBridge {
initGemfireProperties();
try {
- hostname = SocketCreator.getLocalHost().getHostName();
+ hostname = LocalHostUtil.getLocalHost().getHostName();
} catch (UnknownHostException ignore) {
hostname = ManagementConstants.DEFAULT_HOST_NAME;
}
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/util/HostUtils.java b/geode-core/src/main/java/org/apache/geode/management/internal/util/HostUtils.java
index a7b38a4..992e814 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/util/HostUtils.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/util/HostUtils.java
@@ -20,15 +20,15 @@ import java.net.UnknownHostException;
import org.apache.geode.cache.server.CacheServer;
import org.apache.geode.internal.DistributionLocator;
+import org.apache.geode.internal.inet.LocalHostUtil;
import org.apache.geode.internal.lang.StringUtils;
-import org.apache.geode.internal.net.SocketCreator;
public class HostUtils {
private static final String LOCALHOST = "localhost";
public static String getLocalHost() {
try {
- return SocketCreator.getLocalHost().getCanonicalHostName();
+ return LocalHostUtil.getLocalHost().getCanonicalHostName();
} catch (UnknownHostException ignore) {
return LOCALHOST;
}
diff --git a/geode-core/src/test/java/org/apache/geode/distributed/internal/StartupMessageDataJUnitTest.java b/geode-core/src/test/java/org/apache/geode/distributed/internal/StartupMessageDataJUnitTest.java
index 63e4248..83678c6 100755
--- a/geode-core/src/test/java/org/apache/geode/distributed/internal/StartupMessageDataJUnitTest.java
+++ b/geode-core/src/test/java/org/apache/geode/distributed/internal/StartupMessageDataJUnitTest.java
@@ -33,7 +33,7 @@ import org.junit.experimental.categories.Category;
import org.apache.geode.DataSerializer;
import org.apache.geode.internal.ByteArrayData;
import org.apache.geode.internal.admin.remote.DistributionLocatorId;
-import org.apache.geode.internal.net.SocketCreator;
+import org.apache.geode.internal.inet.LocalHostUtil;
import org.apache.geode.test.junit.categories.MembershipTest;
/**
@@ -254,7 +254,7 @@ public class StartupMessageDataJUnitTest {
private String createOneLocatorString() throws Exception {
DistributionLocatorId locatorId =
- new DistributionLocatorId(SocketCreator.getLocalHost(), 44556, "111.222.333.444", null);
+ new DistributionLocatorId(LocalHostUtil.getLocalHost(), 44556, "111.222.333.444", null);
String locatorString = locatorId.marshal();
assertEquals("" + locatorId.getHost().getAddress().getHostAddress() + ":111.222.333.444[44556]",
locatorString);
@@ -267,7 +267,7 @@ public class StartupMessageDataJUnitTest {
int j = i + 1;
int k = j + 1;
int l = k + 1;
- DistributionLocatorId locatorId = new DistributionLocatorId(SocketCreator.getLocalHost(),
+ DistributionLocatorId locatorId = new DistributionLocatorId(LocalHostUtil.getLocalHost(),
445566, "" + i + "" + i + "" + i + "." + j + "" + j + "" + j + "." + k + "" + k + "" + k
+ "." + l + "" + l + "" + l,
null);
diff --git a/geode-core/src/test/java/org/apache/geode/distributed/internal/membership/MembershipDependenciesJUnitTest.java b/geode-core/src/test/java/org/apache/geode/distributed/internal/membership/MembershipDependenciesJUnitTest.java
index c55b080..9e9b1d0 100644
--- a/geode-core/src/test/java/org/apache/geode/distributed/internal/membership/MembershipDependenciesJUnitTest.java
+++ b/geode-core/src/test/java/org/apache/geode/distributed/internal/membership/MembershipDependenciesJUnitTest.java
@@ -32,7 +32,7 @@ import org.apache.geode.distributed.Locator;
import org.apache.geode.distributed.internal.LocatorStats;
import org.apache.geode.distributed.internal.membership.adapter.LocalViewMessage;
import org.apache.geode.internal.OSProcess;
-import org.apache.geode.internal.net.SocketCreator;
+import org.apache.geode.internal.inet.LocalHostUtil;
import org.apache.geode.internal.security.SecurableCommunicationChannel;
import org.apache.geode.internal.util.JavaWorkarounds;
@@ -94,6 +94,7 @@ public class MembershipDependenciesJUnitTest {
.or(resideInAPackage("org.apache.geode.logging.internal.log4j.api.."))
.or(resideInAPackage("org.apache.geode.logging.internal.executors.."))
.or(resideInAPackage("org.apache.geode.distributed.internal.tcpserver.."))
+ .or(type(LocalHostUtil.class))
.or(not(resideInAPackage("org.apache.geode..")))
@@ -106,9 +107,6 @@ public class MembershipDependenciesJUnitTest {
// TODO: break dependencies on locator-related classes
.or(type(Locator.class))
- // TODO:
- .or(type(SocketCreator.class))
-
// TODO: break dependency on internal.security
.or(type(SecurableCommunicationChannel.class))
diff --git a/geode-core/src/test/java/org/apache/geode/distributed/internal/membership/MembershipViewJUnitTest.java b/geode-core/src/test/java/org/apache/geode/distributed/internal/membership/MembershipViewJUnitTest.java
index b613c81..997ae14 100755
--- a/geode-core/src/test/java/org/apache/geode/distributed/internal/membership/MembershipViewJUnitTest.java
+++ b/geode-core/src/test/java/org/apache/geode/distributed/internal/membership/MembershipViewJUnitTest.java
@@ -33,7 +33,7 @@ import org.junit.experimental.categories.Category;
import org.apache.geode.distributed.internal.ClusterDistributionManager;
import org.apache.geode.distributed.internal.membership.gms.GMSMembershipView;
import org.apache.geode.distributed.internal.membership.gms.api.MemberIdentifier;
-import org.apache.geode.internal.net.SocketCreator;
+import org.apache.geode.internal.inet.LocalHostUtil;
import org.apache.geode.test.junit.categories.MembershipTest;
@Category({MembershipTest.class})
@@ -46,7 +46,7 @@ public class MembershipViewJUnitTest {
int numMembers = 10;
members = new ArrayList<>(numMembers);
for (int i = 0; i < numMembers; i++) {
- members.add(new InternalDistributedMember(SocketCreator.getLocalHost(), 1000 + i));
+ members.add(new InternalDistributedMember(LocalHostUtil.getLocalHost(), 1000 + i));
}
// view creator is a locator
members.get(0).setVmKind(ClusterDistributionManager.LOCATOR_DM_TYPE);
@@ -183,7 +183,7 @@ public class MembershipViewJUnitTest {
int oldSize = view.size();
for (int i = 0; i < 100; i++) {
- MemberIdentifier mbr = new InternalDistributedMember(SocketCreator.getLocalHost(), 2000 + i);
+ MemberIdentifier mbr = new InternalDistributedMember(LocalHostUtil.getLocalHost(), 2000 + i);
mbr.setVmKind(ClusterDistributionManager.NORMAL_DM_TYPE);
mbr.setVmViewId(2);
view.add(mbr);
diff --git a/geode-core/src/test/java/org/apache/geode/distributed/internal/membership/adapter/auth/AbstractGMSAuthenticatorTestCase.java b/geode-core/src/test/java/org/apache/geode/distributed/internal/membership/adapter/auth/AbstractGMSAuthenticatorTestCase.java
index c88fa3a..b2e7c53 100644
--- a/geode-core/src/test/java/org/apache/geode/distributed/internal/membership/adapter/auth/AbstractGMSAuthenticatorTestCase.java
+++ b/geode-core/src/test/java/org/apache/geode/distributed/internal/membership/adapter/auth/AbstractGMSAuthenticatorTestCase.java
@@ -31,7 +31,7 @@ import org.apache.geode.distributed.internal.DistributionConfig;
import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.distributed.internal.membership.gms.Services;
import org.apache.geode.distributed.internal.membership.gms.api.MembershipConfig;
-import org.apache.geode.internal.net.SocketCreator;
+import org.apache.geode.internal.inet.LocalHostUtil;
import org.apache.geode.internal.security.SecurityService;
import org.apache.geode.security.AuthInitialize;
import org.apache.geode.security.AuthenticationFailedException;
@@ -64,7 +64,7 @@ public abstract class AbstractGMSAuthenticatorTestCase {
public void setUp() throws Exception {
clearStatics();
MockitoAnnotations.initMocks(this);
- when(this.member.getInetAddress()).thenReturn(SocketCreator.getLocalHost());
+ when(this.member.getInetAddress()).thenReturn(LocalHostUtil.getLocalHost());
this.props = new Properties();
this.securityProps = new Properties();
diff --git a/geode-core/src/test/java/org/apache/geode/internal/cache/partitioned/rebalance/PartitionedRegionLoadModelJUnitTest.java b/geode-core/src/test/java/org/apache/geode/internal/cache/partitioned/rebalance/PartitionedRegionLoadModelJUnitTest.java
index b969895..3d5665b 100644
--- a/geode-core/src/test/java/org/apache/geode/internal/cache/partitioned/rebalance/PartitionedRegionLoadModelJUnitTest.java
+++ b/geode-core/src/test/java/org/apache/geode/internal/cache/partitioned/rebalance/PartitionedRegionLoadModelJUnitTest.java
@@ -51,7 +51,7 @@ import org.apache.geode.internal.cache.partitioned.rebalance.BucketOperator.Comp
import org.apache.geode.internal.cache.partitioned.rebalance.model.AddressComparor;
import org.apache.geode.internal.cache.partitioned.rebalance.model.PartitionedRegionLoadModel;
import org.apache.geode.internal.cache.persistence.PersistentMemberID;
-import org.apache.geode.internal.net.SocketCreator;
+import org.apache.geode.internal.inet.LocalHostUtil;
@RunWith(JUnitParamsRunner.class)
public class PartitionedRegionLoadModelJUnitTest {
@@ -207,7 +207,7 @@ public class PartitionedRegionLoadModelJUnitTest {
InternalDistributedMember member2 =
new InternalDistributedMember(InetAddress.getByName("127.0.0.1"), 2);
InternalDistributedMember member3 =
- new InternalDistributedMember(SocketCreator.getLocalHost(), 3);
+ new InternalDistributedMember(LocalHostUtil.getLocalHost(), 3);
// Create some buckets with low redundancy on members 1 and 2
PartitionMemberInfoImpl details1 =
diff --git a/geode-core/src/test/java/org/apache/geode/internal/cache/versions/RegionVersionVectorTest.java b/geode-core/src/test/java/org/apache/geode/internal/cache/versions/RegionVersionVectorTest.java
index 07ca1b0..cdced60 100644
--- a/geode-core/src/test/java/org/apache/geode/internal/cache/versions/RegionVersionVectorTest.java
+++ b/geode-core/src/test/java/org/apache/geode/internal/cache/versions/RegionVersionVectorTest.java
@@ -48,7 +48,7 @@ import org.apache.geode.distributed.internal.membership.InternalDistributedMembe
import org.apache.geode.internal.HeapDataOutputStream;
import org.apache.geode.internal.cache.LocalRegion;
import org.apache.geode.internal.cache.persistence.DiskStoreID;
-import org.apache.geode.internal.net.SocketCreator;
+import org.apache.geode.internal.inet.LocalHostUtil;
import org.apache.geode.internal.serialization.Version;
import org.apache.geode.test.junit.rules.ExecutorServiceRule;
@@ -1093,7 +1093,7 @@ public class RegionVersionVectorTest {
private static String getIPLiteral() {
try {
- return SocketCreator.getLocalHost().getHostAddress();
+ return LocalHostUtil.getLocalHost().getHostAddress();
} catch (UnknownHostException e) {
throw new Error("Problem determining host IP address", e);
}
diff --git a/geode-core/src/test/java/org/apache/geode/internal/tcp/ConnectionTest.java b/geode-core/src/test/java/org/apache/geode/internal/tcp/ConnectionTest.java
index a5dfec8..233de78 100644
--- a/geode-core/src/test/java/org/apache/geode/internal/tcp/ConnectionTest.java
+++ b/geode-core/src/test/java/org/apache/geode/internal/tcp/ConnectionTest.java
@@ -14,7 +14,7 @@
*/
package org.apache.geode.internal.tcp;
-import static org.apache.geode.internal.net.SocketCreator.getLocalHost;
+import static org.apache.geode.internal.inet.LocalHostUtil.getLocalHost;
import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.ArgumentMatchers.anyString;
import static org.mockito.ArgumentMatchers.isNull;
diff --git a/geode-memcached/src/main/java/org/apache/geode/memcached/GemFireMemcachedServer.java b/geode-memcached/src/main/java/org/apache/geode/memcached/GemFireMemcachedServer.java
index e796acc..23deda7 100644
--- a/geode-memcached/src/main/java/org/apache/geode/memcached/GemFireMemcachedServer.java
+++ b/geode-memcached/src/main/java/org/apache/geode/memcached/GemFireMemcachedServer.java
@@ -36,6 +36,7 @@ import org.apache.geode.cache.Region;
import org.apache.geode.cache.RegionShortcut;
import org.apache.geode.distributed.internal.InternalDistributedSystem;
import org.apache.geode.internal.cache.GemFireCacheImpl;
+import org.apache.geode.internal.inet.LocalHostUtil;
import org.apache.geode.internal.memcached.ConnectionHandler;
import org.apache.geode.internal.net.SocketCreator;
@@ -211,12 +212,12 @@ public class GemFireMemcachedServer {
acceptor.setDaemon(true);
acceptor.start();
latch.await();
- logger.config("GemFireMemcachedServer server started on host:" + SocketCreator.getLocalHost()
+ logger.config("GemFireMemcachedServer server started on host:" + LocalHostUtil.getLocalHost()
+ " port: " + this.serverPort);
}
private InetAddress getBindAddress() throws UnknownHostException {
- return this.bindAddress == null || this.bindAddress.isEmpty() ? SocketCreator.getLocalHost()
+ return this.bindAddress == null || this.bindAddress.isEmpty() ? LocalHostUtil.getLocalHost()
: InetAddress.getByName(this.bindAddress);
}
diff --git a/geode-redis/src/distributedTest/java/org/apache/geode/redis/RedisDistDUnitTest.java b/geode-redis/src/distributedTest/java/org/apache/geode/redis/RedisDistDUnitTest.java
index 236b84c..b834481 100644
--- a/geode-redis/src/distributedTest/java/org/apache/geode/redis/RedisDistDUnitTest.java
+++ b/geode-redis/src/distributedTest/java/org/apache/geode/redis/RedisDistDUnitTest.java
@@ -28,7 +28,7 @@ import redis.clients.jedis.Jedis;
import org.apache.geode.cache.CacheFactory;
import org.apache.geode.distributed.ConfigurationProperties;
import org.apache.geode.internal.AvailablePortHelper;
-import org.apache.geode.internal.net.SocketCreator;
+import org.apache.geode.internal.inet.LocalHostUtil;
import org.apache.geode.test.dunit.AsyncInvocation;
import org.apache.geode.test.dunit.DistributedTestUtils;
import org.apache.geode.test.dunit.Host;
@@ -71,7 +71,7 @@ public class RedisDistDUnitTest extends JUnit4DistributedTestCase {
public final void postSetUp() throws Exception {
JUnit4DistributedTestCase.disconnectAllFromDS();
- localHost = SocketCreator.getLocalHost().getHostName();
+ localHost = LocalHostUtil.getLocalHost().getHostName();
host = Host.getHost(0);
server1 = host.getVM(0);
@@ -86,7 +86,7 @@ public class RedisDistDUnitTest extends JUnit4DistributedTestCase {
public Object call() throws Exception {
int port = ports[VM.getCurrentVMNum()];
CacheFactory cF = new CacheFactory();
- String locator = SocketCreator.getLocalHost().getHostName() + "[" + locatorPort + "]";
+ String locator = LocalHostUtil.getLocalHost().getHostName() + "[" + locatorPort + "]";
cF.set(LOG_LEVEL, LogWriterUtils.getDUnitLogLevel());
cF.set(ConfigurationProperties.REDIS_BIND_ADDRESS, localHost);
cF.set(ConfigurationProperties.REDIS_PORT, "" + port);
diff --git a/geode-redis/src/main/java/org/apache/geode/redis/GeodeRedisServer.java b/geode-redis/src/main/java/org/apache/geode/redis/GeodeRedisServer.java
index 0dfe315..d1fc7a6 100644
--- a/geode-redis/src/main/java/org/apache/geode/redis/GeodeRedisServer.java
+++ b/geode-redis/src/main/java/org/apache/geode/redis/GeodeRedisServer.java
@@ -65,7 +65,7 @@ import org.apache.geode.internal.cache.InternalCache;
import org.apache.geode.internal.cache.InternalRegionArguments;
import org.apache.geode.internal.cache.xmlcache.RegionAttributesCreation;
import org.apache.geode.internal.hll.HyperLogLogPlus;
-import org.apache.geode.internal.net.SocketCreator;
+import org.apache.geode.internal.inet.LocalHostUtil;
import org.apache.geode.redis.internal.ByteArrayWrapper;
import org.apache.geode.redis.internal.ByteToCommandDecoder;
import org.apache.geode.redis.internal.Coder;
@@ -365,7 +365,7 @@ public class GeodeRedisServer {
* @return The InetAddress to bind to
*/
private InetAddress getBindAddress() throws UnknownHostException {
- return this.bindAddress == null || this.bindAddress.isEmpty() ? SocketCreator.getLocalHost()
+ return this.bindAddress == null || this.bindAddress.isEmpty() ? LocalHostUtil.getLocalHost()
: InetAddress.getByName(this.bindAddress);
}
diff --git a/geode-tcp-server/src/distributedTest/java/org/apache/geode/distributed/internal/tcpserver/TcpServerGossipVersionDUnitTest.java b/geode-tcp-server/src/distributedTest/java/org/apache/geode/distributed/internal/tcpserver/TcpServerGossipVersionDUnitTest.java
index 6c75c44..a3076aa 100644
--- a/geode-tcp-server/src/distributedTest/java/org/apache/geode/distributed/internal/tcpserver/TcpServerGossipVersionDUnitTest.java
+++ b/geode-tcp-server/src/distributedTest/java/org/apache/geode/distributed/internal/tcpserver/TcpServerGossipVersionDUnitTest.java
@@ -35,7 +35,7 @@ import org.apache.geode.distributed.internal.membership.gms.locator.FindCoordina
import org.apache.geode.distributed.internal.membership.gms.locator.FindCoordinatorResponse;
import org.apache.geode.internal.AvailablePortHelper;
import org.apache.geode.internal.InternalDataSerializer;
-import org.apache.geode.internal.net.SocketCreator;
+import org.apache.geode.internal.inet.LocalHostUtil;
import org.apache.geode.internal.net.SocketCreatorFactory;
import org.apache.geode.internal.security.SecurableCommunicationChannel;
import org.apache.geode.internal.serialization.Version;
@@ -152,7 +152,7 @@ public class TcpServerGossipVersionDUnitTest extends JUnit4DistributedTestCase {
.getSocketCreatorForComponent(SecurableCommunicationChannel.LOCATOR)),
InternalDataSerializer.getDSFIDSerializer().getObjectSerializer(),
InternalDataSerializer.getDSFIDSerializer().getObjectDeserializer())
- .requestToServer(SocketCreator.getLocalHost(), port0, req, 5000);
+ .requestToServer(LocalHostUtil.getLocalHost(), port0, req, 5000);
assertThat(response).isNotNull();
} catch (IllegalStateException e) {
diff --git a/geode-wan/src/distributedTest/java/org/apache/geode/internal/cache/wan/wancommand/CreateGatewayReceiverCommandDUnitTest.java b/geode-wan/src/distributedTest/java/org/apache/geode/internal/cache/wan/wancommand/CreateGatewayReceiverCommandDUnitTest.java
index c240029..55009fc 100644
--- a/geode-wan/src/distributedTest/java/org/apache/geode/internal/cache/wan/wancommand/CreateGatewayReceiverCommandDUnitTest.java
+++ b/geode-wan/src/distributedTest/java/org/apache/geode/internal/cache/wan/wancommand/CreateGatewayReceiverCommandDUnitTest.java
@@ -44,7 +44,7 @@ import org.junit.runner.RunWith;
import org.apache.geode.cache.Cache;
import org.apache.geode.cache.wan.GatewayReceiver;
import org.apache.geode.distributed.DistributedMember;
-import org.apache.geode.internal.net.SocketCreator;
+import org.apache.geode.internal.inet.LocalHostUtil;
import org.apache.geode.management.internal.i18n.CliStrings;
import org.apache.geode.test.dunit.rules.ClusterStartupRule;
import org.apache.geode.test.dunit.rules.MemberVM;
@@ -683,7 +683,7 @@ public class CreateGatewayReceiverCommandDUnitTest {
}
private String getHostName() throws Exception {
- return SocketCreator.getLocalHost().getCanonicalHostName();
+ return LocalHostUtil.getLocalHost().getCanonicalHostName();
}
private String getBindAddress() throws Exception {
diff --git a/geode-wan/src/main/java/org/apache/geode/internal/cache/wan/GatewayReceiverImpl.java b/geode-wan/src/main/java/org/apache/geode/internal/cache/wan/GatewayReceiverImpl.java
index da74474..b4b5ed6 100644
--- a/geode-wan/src/main/java/org/apache/geode/internal/cache/wan/GatewayReceiverImpl.java
+++ b/geode-wan/src/main/java/org/apache/geode/internal/cache/wan/GatewayReceiverImpl.java
@@ -35,7 +35,7 @@ import org.apache.geode.distributed.internal.InternalDistributedSystem;
import org.apache.geode.distributed.internal.ResourceEvent;
import org.apache.geode.internal.cache.InternalCache;
import org.apache.geode.internal.cache.InternalCacheServer;
-import org.apache.geode.internal.net.SocketCreator;
+import org.apache.geode.internal.inet.LocalHostUtil;
import org.apache.geode.logging.internal.log4j.api.LogService;
/**
@@ -119,7 +119,7 @@ public class GatewayReceiverImpl implements GatewayReceiver {
}
try {
- return SocketCreator.getLocalHost().getHostName();
+ return LocalHostUtil.getLocalHost().getHostName();
} catch (UnknownHostException e) {
throw new IllegalStateException("Could not get host name", e);
}
diff --git a/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/GatewayReceiverImplTest.java b/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/GatewayReceiverImplTest.java
index 5cf6060..db99ce9 100644
--- a/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/GatewayReceiverImplTest.java
+++ b/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/GatewayReceiverImplTest.java
@@ -38,7 +38,7 @@ import org.apache.geode.cache.wan.GatewayReceiver;
import org.apache.geode.distributed.internal.InternalDistributedSystem;
import org.apache.geode.internal.cache.InternalCache;
import org.apache.geode.internal.cache.InternalCacheServer;
-import org.apache.geode.internal.net.SocketCreator;
+import org.apache.geode.internal.inet.LocalHostUtil;
import org.apache.geode.test.junit.categories.WanTest;
@Category(WanTest.class)
@@ -64,7 +64,7 @@ public class GatewayReceiverImplTest {
GatewayReceiver gateway = new GatewayReceiverImpl(cache, 2000, 2001, 5, 100, null, null, null,
true, true, 2000);
- assertThat(gateway.getHost()).isEqualTo(SocketCreator.getLocalHost().getHostName());
+ assertThat(gateway.getHost()).isEqualTo(LocalHostUtil.getLocalHost().getHostName());
}
@Test