This is an automated email from the ASF dual-hosted git repository. bschuchardt pushed a commit to branch feature/GEODE-7541c in repository https://gitbox.apache.org/repos/asf/geode.git
commit 0cf6c42b73e935b2a43354f8bdd2efc0c3b6f59a Author: Bruce Schuchardt <[email protected]> AuthorDate: Tue Dec 24 10:02:02 2019 -0800 GEODE-7541: move SocketCreator localhost lookup to geode-common General host address lookup remains in SocketCreator while localhost- related functionality has moved to LocalHostUtil. --- .../apache/geode/metrics/CacheCommonTagsTest.java | 3 +- .../apache/geode/internal/inet/LocalHostUtil.java | 286 +++++++++++++++++++++ .../distributed/DistributedSystemDUnitTest.java | 2 +- .../geode/distributed/HostedLocatorsDUnitTest.java | 6 +- .../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 | 5 +- .../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 +- .../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 | 256 ------------------ .../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 +- .../membership/MembershipViewJUnitTest.java | 6 +- .../auth/AbstractGMSAuthenticatorTestCase.java | 4 +- .../PartitionedRegionLoadModelJUnitTest.java | 4 +- .../cache/versions/RegionVersionVectorTest.java | 4 +- .../apache/geode/internal/tcp/ConnectionTest.java | 2 +- .../org/apache/geode/test/dunit/NetworkUtils.java | 4 +- .../geode/memcached/GemFireMemcachedServer.java | 5 +- .../org/apache/geode/redis/RedisDistDUnitTest.java | 6 +- .../org/apache/geode/redis/GeodeRedisServer.java | 4 +- .../tcpserver/TcpServerGossipVersionDUnitTest.java | 4 +- .../TcpServerProductVersionDUnitTest.java | 4 +- .../CreateGatewayReceiverCommandDUnitTest.java | 4 +- .../internal/cache/wan/GatewayReceiverImpl.java | 4 +- .../cache/wan/GatewayReceiverImplTest.java | 4 +- 65 files changed, 436 insertions(+), 387 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..aaec5a7 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 @@ -40,7 +40,7 @@ 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; @@ -110,7 +110,7 @@ public class HostedLocatorsDUnitTest extends JUnit4DistributedTestCase { }); } - final String host = SocketCreator.getLocalHost().getHostAddress(); + final String host = LocalHostUtil.getLocalHost().getHostAddress(); final Set<String> locators = new HashSet<String>(); locators.add(host + "[" @@ -229,7 +229,7 @@ public class HostedLocatorsDUnitTest extends JUnit4DistributedTestCase { 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..1017103 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 @@ -70,6 +70,7 @@ 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; @@ -372,7 +373,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 +407,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/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..3234a4a 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,17 +19,13 @@ 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; import java.net.SocketException; import java.net.SocketTimeoutException; -import java.net.UnknownHostException; import java.nio.ByteBuffer; import java.nio.channels.ServerSocketChannel; import java.nio.channels.SocketChannel; @@ -42,22 +38,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,7 +73,6 @@ 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; @@ -121,30 +106,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 +144,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,23 +187,6 @@ public class SocketCreator { // ------------------------------------------------------------------------- /** - * 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; - } - - /** - * All classes should use this instead of relying on the JRE system property - */ - public static boolean preferIPv6Addresses() { - return SocketCreator.useIPv6Addresses; - } - - /** * returns the host name for the given inet address, using a local cache of names to avoid dns * hits and duplicate strings */ @@ -1170,153 +1063,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/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-dunit/src/main/java/org/apache/geode/test/dunit/NetworkUtils.java b/geode-dunit/src/main/java/org/apache/geode/test/dunit/NetworkUtils.java index a29c8c5..0d7ceec 100755 --- a/geode-dunit/src/main/java/org/apache/geode/test/dunit/NetworkUtils.java +++ b/geode-dunit/src/main/java/org/apache/geode/test/dunit/NetworkUtils.java @@ -21,7 +21,7 @@ import java.io.UncheckedIOException; import java.net.InetAddress; import java.net.UnknownHostException; -import org.apache.geode.internal.net.SocketCreator; +import org.apache.geode.internal.inet.LocalHostUtil; /** * {@code NetworkUtils} provides static utility methods to perform network DNS lookups or @@ -52,7 +52,7 @@ public class NetworkUtils { */ public 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-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-tcp-server/src/distributedTest/java/org/apache/geode/distributed/internal/tcpserver/TcpServerProductVersionDUnitTest.java b/geode-tcp-server/src/distributedTest/java/org/apache/geode/distributed/internal/tcpserver/TcpServerProductVersionDUnitTest.java index a00e3c7..bba3528 100644 --- a/geode-tcp-server/src/distributedTest/java/org/apache/geode/distributed/internal/tcpserver/TcpServerProductVersionDUnitTest.java +++ b/geode-tcp-server/src/distributedTest/java/org/apache/geode/distributed/internal/tcpserver/TcpServerProductVersionDUnitTest.java @@ -43,7 +43,7 @@ import org.apache.geode.distributed.internal.DistributionConfigImpl; import org.apache.geode.distributed.internal.membership.gms.membership.GMSJoinLeave; 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.test.dunit.DistributedTestUtils; @@ -170,7 +170,7 @@ public class TcpServerProductVersionDUnitTest implements Serializable { } final Object response = tcpClient - .requestToServer(SocketCreator.getLocalHost(), locatorPort, requestMessage, 1000); + .requestToServer(LocalHostUtil.getLocalHost(), locatorPort, requestMessage, 1000); final Class<?> responseClass = Class.forName(responseClassName); 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
