You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by bs...@apache.org on 2020/02/21 19:54:05 UTC
[geode] 02/02: remove SocketCreator host->address cache
This is an automated email from the ASF dual-hosted git repository.
bschuchardt pushed a commit to branch feature/GEODE-7808
in repository https://gitbox.apache.org/repos/asf/geode.git
commit 43fbb41114a4466b0ec8a64f5bdeec2e67afa227
Author: Bruce Schuchardt <bs...@pivotal.io>
AuthorDate: Fri Feb 21 11:53:10 2020 -0800
remove SocketCreator host->address cache
---
.../apache/geode/metrics/CacheCommonTagsTest.java | 3 +-
.../GemFireStatSamplerIntegrationTest.java | 3 +-
.../SimpleStatSamplerIntegrationTest.java | 3 +-
.../admin/internal/ManagedEntityConfigImpl.java | 3 +-
.../java/org/apache/geode/distributed/Locator.java | 3 +-
.../internal/DistributionConfigImpl.java | 3 +-
.../membership/InternalDistributedMember.java | 4 +--
.../org/apache/geode/internal/AbstractConfig.java | 2 +-
.../admin/remote/DistributionLocatorId.java | 3 +-
.../geode/internal/cache/GemFireCacheImpl.java | 5 ++-
.../cache/persistence/PersistentMemberPattern.java | 3 +-
.../apache/geode/internal/net/SocketCreator.java | 37 ----------------------
.../geode/internal/statistics/HostStatSampler.java | 3 +-
.../internal/statistics/StatArchiveWriter.java | 3 +-
.../geode/test/dunit/rules/DistributedRule.java | 1 -
15 files changed, 15 insertions(+), 64 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 1ca677c..58a1cfd 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
@@ -30,7 +30,6 @@ 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 {
@@ -57,7 +56,7 @@ public class CacheCommonTagsTest {
assertThat(meter.getId().getTags())
.as("Tags for meter with name " + meterId.getName())
- .contains(Tag.of("host", SocketCreator.getHostName(LocalHostUtil.getLocalHost())));
+ .contains(Tag.of("host", LocalHostUtil.getLocalHost().getHostName()));
}
}
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 ffe275a..8128567 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
@@ -34,7 +34,6 @@ 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.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;
@@ -136,7 +135,7 @@ public class GemFireStatSamplerIntegrationTest extends StatSamplerTestCase {
.isLessThanOrEqualTo(currentTimeMillis());
assertThat(statSampler.getSystemDirectoryPath())
.as("system directory path")
- .isEqualTo(getHostName(getLocalHost()));
+ .isEqualTo(getLocalHost().getHostName());
assertThat(statSampler.getVMStats())
.as("vm stats")
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 c8b7040..ecfb5f3 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
@@ -36,7 +36,6 @@ 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;
@@ -100,7 +99,7 @@ public class SimpleStatSamplerIntegrationTest extends StatSamplerTestCase {
assertTrue(statsCount > 0);
assertTrue(statSampler.getSystemStartTime() <= System.currentTimeMillis());
- assertEquals(SocketCreator.getHostName(LocalHostUtil.getLocalHost()),
+ assertEquals(LocalHostUtil.getLocalHost().getHostName(),
statSampler.getSystemDirectoryPath());
VMStatsContract vmStats = statSampler.getVMStats();
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 540981a..37ed0fb 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
@@ -25,7 +25,6 @@ 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;
/**
* The abstract superclass of objects that configure a managed entity such as a GemFire cache server
@@ -115,7 +114,7 @@ public abstract class ManagedEntityConfigImpl implements ManagedEntityConfig {
* <code>GemFireVM</code>
*/
protected ManagedEntityConfigImpl(GemFireVM vm) {
- this.host = SocketCreator.getHostName(vm.getHost());
+ this.host = vm.getHost().getHostName();
this.workingDirectory = vm.getWorkingDirectory().getAbsolutePath();
this.productDirectory = vm.getGeodeHomeDir().getAbsolutePath();
this.remoteCommand = null;
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 f7cf0d1..3d5df2a 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
@@ -23,7 +23,6 @@ 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;
/**
* Represents a distribution locator server that provides discovery information to members and
@@ -386,7 +385,7 @@ public abstract class Locator {
Object ba = this.bindAddress;
if (ba == null) {
try {
- ba = SocketCreator.getHostName(LocalHostUtil.getLocalHost());
+ ba = LocalHostUtil.getLocalHost().getHostName();
} catch (java.net.UnknownHostException uh) {
}
}
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 8a599ba..e039a2a 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
@@ -89,7 +89,6 @@ 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;
import org.apache.geode.security.AuthTokenEnabledComponents;
@@ -1777,7 +1776,7 @@ public class DistributionConfigImpl extends AbstractDistributionConfig implement
return bindAddress + "[" + startLocatorPort + "]";
}
try {
- return SocketCreator.getHostName(LocalHostUtil.getLocalHost()) + "[" + startLocatorPort
+ return LocalHostUtil.getLocalHost().getHostName() + "[" + startLocatorPort
+ "]";
} catch (UnknownHostException ignore) {
// punt and use this.startLocator instead
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 565d247..37a1b97 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
@@ -100,7 +100,7 @@ public class InternalDistributedMember
}
private static String getHostName(InetAddress i) {
- return SocketCreator.resolve_dns ? SocketCreator.getHostName(i) : i.getHostAddress();
+ return SocketCreator.resolve_dns ? i.getHostName() : i.getHostAddress();
}
/**
@@ -312,7 +312,7 @@ public class InternalDistributedMember
memberIdentifier.setProcessId(OSProcess.getId());
try {
if (SocketCreator.resolve_dns) {
- setHostName(SocketCreator.getHostName(LocalHostUtil.getLocalHost()));
+ setHostName(LocalHostUtil.getLocalHost().getHostName());
} else {
setHostName(LocalHostUtil.getLocalHost().getHostAddress());
}
diff --git a/geode-core/src/main/java/org/apache/geode/internal/AbstractConfig.java b/geode-core/src/main/java/org/apache/geode/internal/AbstractConfig.java
index 75b0b16..37188fb 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/AbstractConfig.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/AbstractConfig.java
@@ -203,7 +203,7 @@ public abstract class AbstractConfig implements Config {
// on Windows getHostName on mcast addrs takes ~5 seconds
addrName = addr.getHostAddress();
} else {
- addrName = SocketCreator.getHostName(addr);
+ addrName = addr.getHostName();
}
return addrName;
}
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 8835115..0ac4839 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,7 +29,6 @@ import org.apache.geode.distributed.internal.DistributionConfig;
import org.apache.geode.distributed.internal.tcpserver.HostAndPort;
import org.apache.geode.internal.admin.SSLConfig;
import org.apache.geode.internal.inet.LocalHostUtil;
-import org.apache.geode.internal.net.SocketCreator;
/**
* Identifies the host, port, and bindAddress a distribution locator is listening on.
@@ -293,7 +292,7 @@ public class DistributionLocatorId implements java.io.Serializable {
if (isMcastId()) {
sb.append(this.host.getHostAddress());
} else {
- sb.append(SocketCreator.getHostName(this.host));
+ sb.append(this.host.getHostName());
}
}
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 d4aff7f..e12fa7b 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
@@ -249,7 +249,6 @@ import org.apache.geode.internal.jta.TransactionManagerImpl;
import org.apache.geode.internal.lang.ThrowableUtils;
import org.apache.geode.internal.logging.InternalLogWriter;
import org.apache.geode.internal.monitoring.ThreadsMonitoring;
-import org.apache.geode.internal.net.SocketCreator;
import org.apache.geode.internal.offheap.MemoryAllocator;
import org.apache.geode.internal.security.SecurityService;
import org.apache.geode.internal.security.SecurityServiceFactory;
@@ -2748,7 +2747,7 @@ public class GemFireCacheImpl implements InternalCache, InternalClientCache, Has
private PoolFactory createDefaultPF() {
PoolFactory defaultPoolFactory = PoolManager.createFactory();
try {
- String localHostName = SocketCreator.getHostName(LocalHostUtil.getLocalHost());
+ String localHostName = LocalHostUtil.getLocalHost().getHostName();
defaultPoolFactory.addServer(localHostName, CacheServer.DEFAULT_PORT);
} catch (UnknownHostException ex) {
throw new IllegalStateException("Could not determine local host name", ex);
@@ -2773,7 +2772,7 @@ public class GemFireCacheImpl implements InternalCache, InternalClientCache, Has
if (poolFactoryImpl.getPoolAttributes().locators.isEmpty()
&& poolFactoryImpl.getPoolAttributes().servers.isEmpty()) {
try {
- String localHostName = SocketCreator.getHostName(LocalHostUtil.getLocalHost());
+ String localHostName = LocalHostUtil.getLocalHost().getHostName();
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/persistence/PersistentMemberPattern.java b/geode-core/src/main/java/org/apache/geode/internal/cache/persistence/PersistentMemberPattern.java
index 1b9d56a..db0726e 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/persistence/PersistentMemberPattern.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/persistence/PersistentMemberPattern.java
@@ -22,7 +22,6 @@ import java.util.UUID;
import org.apache.geode.DataSerializer;
import org.apache.geode.cache.persistence.PersistentID;
-import org.apache.geode.internal.net.SocketCreator;
/**
* Implementation of the public PersistentID. It holds the region, host, directory, and timestamp.
@@ -96,7 +95,7 @@ public class PersistentMemberPattern implements PersistentID, Comparable<Persist
result.append(diskStoreID);
if (host != null) {
result.append(" [");
- result.append(SocketCreator.getHostName(host));
+ result.append(host.getHostName());
result.append(":");
result.append(directory);
result.append(",revoked@").append(revokedTime);
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 0c5df6a..0fdc8f6 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
@@ -41,7 +41,6 @@ import java.security.cert.X509Certificate;
import java.util.List;
import java.util.Map;
import java.util.Properties;
-import java.util.concurrent.ConcurrentHashMap;
import javax.net.ServerSocketFactory;
import javax.net.SocketFactory;
@@ -111,9 +110,6 @@ public class SocketCreator extends TcpSocketCreatorImpl {
private static final Logger logger = LogService.getLogger();
- @MakeNotStatic
- private static final ConcurrentHashMap<InetAddress, String> hostNames = new ConcurrentHashMap<>();
-
/**
* flag to force always using DNS (regardless of the fact that these lookups can hang)
*/
@@ -186,39 +182,6 @@ public class SocketCreator extends TcpSocketCreatorImpl {
return LocalHostUtil.getLocalHost();
}
- /**
- * returns the host name for the given inet address, using a local cache of names to avoid dns
- * hits and duplicate strings
- */
- public static String getHostName(InetAddress addr) {
- String result = hostNames.get(addr);
- if (result == null) {
- result = addr.getHostName();
- hostNames.put(addr, result);
- }
- return result;
- }
-
- /**
- * returns the host name for the given inet address, using a local cache of names to avoid dns
- * hits and duplicate strings
- */
- public static String getCanonicalHostName(InetAddress addr, String hostName) {
- String result = hostNames.get(addr);
- if (result == null) {
- hostNames.put(addr, hostName);
- return hostName;
- }
- return result;
- }
-
- /**
- * Reset the hostNames caches
- */
- public static void resetHostNameCache() {
- hostNames.clear();
- }
-
// -------------------------------------------------------------------------
// Initializers (change SocketCreator state)
// -------------------------------------------------------------------------
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 8b0d91d..2e16264 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
@@ -30,7 +30,6 @@ 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;
import org.apache.geode.internal.process.UncheckedPidUnavailableException;
import org.apache.geode.internal.statistics.platform.OsStatisticsFactory;
import org.apache.geode.internal.util.concurrent.StoppableCountDownLatch;
@@ -153,7 +152,7 @@ public abstract class HostStatSampler
@Override
public String getSystemDirectoryPath() {
try {
- return SocketCreator.getHostName(LocalHostUtil.getLocalHost());
+ return LocalHostUtil.getLocalHost().getHostName();
} catch (UnknownHostException ignore) {
return "";
}
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 d84c829..074da02 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
@@ -41,7 +41,6 @@ import org.apache.geode.annotations.internal.MakeNotStatic;
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;
import org.apache.geode.util.internal.GeodeGlossary;
@@ -204,7 +203,7 @@ public class StatArchiveWriter implements StatArchiveFormat, SampleHandler {
protected String getMachineInfo() {
String machineInfo = System.getProperty("os.arch");
try {
- String hostName = SocketCreator.getHostName(LocalHostUtil.getLocalHost());
+ String hostName = LocalHostUtil.getLocalHost().getHostName();
machineInfo += " " + hostName;
} catch (UnknownHostException ignore) {
}
diff --git a/geode-dunit/src/main/java/org/apache/geode/test/dunit/rules/DistributedRule.java b/geode-dunit/src/main/java/org/apache/geode/test/dunit/rules/DistributedRule.java
index 7799697..992dd0f 100644
--- a/geode-dunit/src/main/java/org/apache/geode/test/dunit/rules/DistributedRule.java
+++ b/geode-dunit/src/main/java/org/apache/geode/test/dunit/rules/DistributedRule.java
@@ -241,7 +241,6 @@ public class DistributedRule extends AbstractDistributedRule {
QueryObserverHolder.reset();
QueryTestUtils.setCache(null);
RegionTestCase.preSnapshotRegion = null;
- SocketCreator.resetHostNameCache();
SocketCreator.resolve_dns = true;
TcpClient.clearStaticData();