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/03/16 21:26:54 UTC
[geode] 01/01: GEODE-7877: deal with the static Version map in
TcpClient
This is an automated email from the ASF dual-hosted git repository.
bschuchardt pushed a commit to branch feature/GEODE-7877
in repository https://gitbox.apache.org/repos/asf/geode.git
commit 41e37df79f05cdbd6d45967b2594014af85015dd
Author: Bruce Schuchardt <bs...@pivotal.io>
AuthorDate: Mon Mar 16 14:22:25 2020 -0700
GEODE-7877: deal with the static Version map in TcpClient
The server-version map that tracks Locator versions is now an instance
variable instead of a static.
I looked into removing the map altogether but it's really needed for
rolling-upgrade purposes. When one locator is rolled to a new version
of Geode but another locator is still running the old version it's
essential that the new locator know that it's communicating with an old
locator.
---
.../apache/geode/test/dunit/rules/DistributedRule.java | 2 --
.../geode/distributed/internal/tcpserver/TcpClient.java | 16 +---------------
.../internal/tcpserver/TcpServerJUnitTest.java | 6 ------
3 files changed, 1 insertion(+), 23 deletions(-)
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..1943fcd 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
@@ -28,7 +28,6 @@ import org.apache.geode.cache30.ClientServerTestCase;
import org.apache.geode.cache30.RegionTestCase;
import org.apache.geode.distributed.internal.DistributionMessageObserver;
import org.apache.geode.distributed.internal.InternalDistributedSystem;
-import org.apache.geode.distributed.internal.tcpserver.TcpClient;
import org.apache.geode.internal.admin.ClientStatsManager;
import org.apache.geode.internal.cache.DiskStoreObserver;
import org.apache.geode.internal.cache.InitialImageOperation;
@@ -243,7 +242,6 @@ public class DistributedRule extends AbstractDistributedRule {
RegionTestCase.preSnapshotRegion = null;
SocketCreator.resetHostNameCache();
SocketCreator.resolve_dns = true;
- TcpClient.clearStaticData();
// clear system properties -- keep alphabetized
System.clearProperty(GeodeGlossary.GEMFIRE_PREFIX + "log-level");
diff --git a/geode-tcp-server/src/main/java/org/apache/geode/distributed/internal/tcpserver/TcpClient.java b/geode-tcp-server/src/main/java/org/apache/geode/distributed/internal/tcpserver/TcpClient.java
index f57b584..fd71941 100644
--- a/geode-tcp-server/src/main/java/org/apache/geode/distributed/internal/tcpserver/TcpClient.java
+++ b/geode-tcp-server/src/main/java/org/apache/geode/distributed/internal/tcpserver/TcpClient.java
@@ -32,7 +32,6 @@ import javax.net.ssl.SSLException;
import org.apache.logging.log4j.Logger;
-import org.apache.geode.annotations.internal.MakeNotStatic;
import org.apache.geode.internal.serialization.ObjectDeserializer;
import org.apache.geode.internal.serialization.ObjectSerializer;
import org.apache.geode.internal.serialization.UnsupportedSerializationVersionException;
@@ -54,8 +53,7 @@ public class TcpClient {
private static final int DEFAULT_REQUEST_TIMEOUT = 60 * 2 * 1000;
- @MakeNotStatic
- private static final Map<HostAndPort, Short> serverVersions =
+ private final Map<HostAndPort, Short> serverVersions =
new HashMap<>();
private final TcpSocketCreator socketCreator;
@@ -309,16 +307,4 @@ public class TcpClient {
}
return Short.valueOf(Version.GFE_57.ordinal());
}
-
-
- /**
- * Clear static class information concerning Locators. This is used in unit tests. It will force
- * TcpClient to send version-request messages to locators to reestablish knowledge of their
- * communication protocols.
- */
- public static void clearStaticData() {
- synchronized (serverVersions) {
- serverVersions.clear();
- }
- }
}
diff --git a/geode-tcp-server/src/test/java/org/apache/geode/distributed/internal/tcpserver/TcpServerJUnitTest.java b/geode-tcp-server/src/test/java/org/apache/geode/distributed/internal/tcpserver/TcpServerJUnitTest.java
index 6e43f47..c79d5c8 100644
--- a/geode-tcp-server/src/test/java/org/apache/geode/distributed/internal/tcpserver/TcpServerJUnitTest.java
+++ b/geode-tcp-server/src/test/java/org/apache/geode/distributed/internal/tcpserver/TcpServerJUnitTest.java
@@ -37,7 +37,6 @@ import java.util.concurrent.CountDownLatch;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicBoolean;
-import org.junit.Before;
import org.junit.Test;
import org.junit.experimental.categories.Category;
import org.mockito.invocation.InvocationOnMock;
@@ -81,11 +80,6 @@ public class TcpServerJUnitTest {
assertThat(server.isAlive()).isTrue();
}
- @Before
- public void setup() {
- TcpClient.clearStaticData();
- }
-
@Test
public void testConnectToUnknownHost() throws Exception {
final TcpClient tcpClient = createTcpClient();