You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by ud...@apache.org on 2017/09/28 18:07:07 UTC
[geode] branch develop updated: GEODE-3717: Fixing
CacheMaxConnectionJUnitTest
This is an automated email from the ASF dual-hosted git repository.
udo pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git
The following commit(s) were added to refs/heads/develop by this push:
new 5cac05e GEODE-3717: Fixing CacheMaxConnectionJUnitTest
5cac05e is described below
commit 5cac05e774738a24da8a859ece0f744594fdeed6
Author: kohlmu-pivotal <uk...@pivotal.io>
AuthorDate: Thu Sep 28 11:05:52 2017 -0700
GEODE-3717: Fixing CacheMaxConnectionJUnitTest
---
.../internal/cache/tier/sockets/ServerConnectionFactory.java | 12 ++++++++----
.../protocol/acceptance/CacheMaxConnectionJUnitTest.java | 6 +++++-
2 files changed, 13 insertions(+), 5 deletions(-)
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ServerConnectionFactory.java b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ServerConnectionFactory.java
index ed8f259..8f3a8c3 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ServerConnectionFactory.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ServerConnectionFactory.java
@@ -44,11 +44,14 @@ public class ServerConnectionFactory {
if (authenticators != null) {
return;
}
- authenticators = new HashMap<>();
+ HashMap tmp = new HashMap<>();
+
ServiceLoader<Authenticator> loader = ServiceLoader.load(Authenticator.class);
for (Authenticator streamAuthenticator : loader) {
- authenticators.put(streamAuthenticator.implementationID(), streamAuthenticator.getClass());
+ tmp.put(streamAuthenticator.implementationID(), streamAuthenticator.getClass());
}
+
+ authenticators = tmp;
}
private synchronized ClientProtocolMessageHandler initializeMessageHandler(
@@ -57,9 +60,10 @@ public class ServerConnectionFactory {
return protocolHandler;
}
- protocolHandler = new MessageHandlerFactory().makeMessageHandler();
- protocolHandler.initializeStatistics(statisticsName, statisticsFactory);
+ ClientProtocolMessageHandler tempHandler = new MessageHandlerFactory().makeMessageHandler();
+ tempHandler.initializeStatistics(statisticsName, statisticsFactory);
+ protocolHandler = tempHandler;
return protocolHandler;
}
diff --git a/geode-protobuf/src/test/java/org/apache/geode/internal/protocol/acceptance/CacheMaxConnectionJUnitTest.java b/geode-protobuf/src/test/java/org/apache/geode/internal/protocol/acceptance/CacheMaxConnectionJUnitTest.java
index f767bbd..d1789ad 100644
--- a/geode-protobuf/src/test/java/org/apache/geode/internal/protocol/acceptance/CacheMaxConnectionJUnitTest.java
+++ b/geode-protobuf/src/test/java/org/apache/geode/internal/protocol/acceptance/CacheMaxConnectionJUnitTest.java
@@ -90,6 +90,7 @@ public class CacheMaxConnectionJUnitTest {
cacheFactory.set(ConfigurationProperties.MCAST_PORT, "0");
cacheFactory.set(ConfigurationProperties.ENABLE_CLUSTER_CONFIGURATION, "false");
cacheFactory.set(ConfigurationProperties.USE_CLUSTER_CONFIGURATION, "false");
+ cacheFactory.set(ConfigurationProperties.TCP_PORT, "0");
cache = cacheFactory.create();
CacheServer cacheServer = cache.addCacheServer();
@@ -118,6 +119,7 @@ public class CacheMaxConnectionJUnitTest {
SocketCreatorFactory.close();
}
+ // 0 threads implies not selector.
@Test
public void testNewProtocolRespectsMaxConnectionLimit_notSelector() throws Exception {
testNewProtocolRespectsMaxConnectionLimit(0, false);
@@ -128,6 +130,8 @@ public class CacheMaxConnectionJUnitTest {
testNewProtocolRespectsMaxConnectionLimit(4, true);
}
+ // Set the maximum connection limit, connect that many clients, check they all connected, check we
+ // can't create another, and repeat once to be sure we're cleaning up.
private void testNewProtocolRespectsMaxConnectionLimit(int threads, boolean isSelector)
throws Exception {
final int connections = 16;
@@ -173,7 +177,7 @@ public class CacheMaxConnectionJUnitTest {
throws Exception {
final Socket[] sockets = new Socket[connections];
- ExecutorService executor = Executors.newFixedThreadPool(20);
+ ExecutorService executor = Executors.newFixedThreadPool(connections);
// Used to assert the exception is non-null.
ArrayList<Callable<Exception>> callables = new ArrayList<>();
--
To stop receiving notification emails like this one, please contact
['"commits@geode.apache.org" <co...@geode.apache.org>'].