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/01/27 23:59:04 UTC
[geode] 01/01: GEODE-7597: Factor out code needed in Membership
from SocketCreator
This is an automated email from the ASF dual-hosted git repository.
bschuchardt pushed a commit to branch feature/GEODE-7597
in repository https://gitbox.apache.org/repos/asf/geode.git
commit 31ea0bfc93cd9d49231acf312499b51e77a30569
Author: Bruce Schuchardt <bs...@pivotal.io>
AuthorDate: Mon Jan 27 15:57:01 2020 -0800
GEODE-7597: Factor out code needed in Membership from SocketCreator
Implemented a new TcpSocketCreatorImpl. Due to GeodeHttpClientRule
dependencies this and associated interfaces are in geode-common. I'd
rather have them in geode-tcp-server.
SocketCreator now subclasses TcpSocketCreatorImpl and I've removed the
adapter class, which is no longer needed.
---
.../internal/LocatorLoadBalancingDUnitTest.java | 7 +-
.../AutoConnectionSourceImplJUnitTest.java | 17 +-
.../geode/distributed/LocatorIntegrationTest.java | 7 +-
.../internal/membership/MembershipJUnitTest.java | 11 +-
.../membership/gms/MembershipOnlyTest.java | 6 +-
.../gms/fd/GMSHealthMonitorJUnitTest.java | 5 +-
.../gms/locator/GMSLocatorIntegrationTest.java | 122 ---------
.../locator/GMSLocatorRecoveryIntegrationTest.java | 12 +-
.../gms/messenger/JGroupsMessengerJUnitTest.java | 5 +-
.../tcpserver/TCPClientSSLIntegrationTest.java | 18 +-
.../internal/tcpserver/TCPServerSSLJUnitTest.java | 13 +-
.../internal/DistributionLocatorConfigImpl.java | 7 +-
.../client/internal/AutoConnectionSourceImpl.java | 7 +-
.../apache/geode/distributed/LocatorLauncher.java | 3 +-
.../distributed/internal/DistributionImpl.java | 11 +-
.../distributed/internal/InternalLocator.java | 6 +-
.../adapter/TcpSocketCreatorAdapter.java | 90 -------
.../apache/geode/internal/DistributionLocator.java | 7 +-
.../org/apache/geode/internal/SystemAdmin.java | 7 +-
.../apache/geode/internal/net/SocketCreator.java | 292 +++++++--------------
.../internal/JmxManagerLocatorRequest.java | 4 +-
.../internal/api/GeodeConnectionConfig.java | 5 +-
.../utils/ClusterConfigurationStatusRetriever.java | 5 +-
.../internal/net/SocketCreatorFailHandshake.java | 54 ----
.../internal/membership/api/MembershipLocator.java | 3 +
.../gms/MembershipLocatorBuilderImpl.java | 8 +-
.../gms/locator/MembershipLocatorImpl.java | 9 +-
.../tcpserver/TcpServerGossipVersionDUnitTest.java | 7 +-
.../internal/tcpserver/TcpServerJUnitTest.java | 12 +-
.../TcpServerProductVersionDUnitTest.java | 6 +-
.../internal/tcpserver/ConnectionWatcher.java | 36 ---
.../distributed/internal/tcpserver/TcpServer.java | 6 +-
.../internal/tcpserver/TcpSocketCreator.java | 48 ----
.../internal/locator/wan/LocatorDiscovery.java | 7 +-
.../locator/wan/LocatorMembershipListenerImpl.java | 7 +-
.../cache/wan/AbstractRemoteGatewaySender.java | 7 +-
36 files changed, 181 insertions(+), 696 deletions(-)
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/cache/client/internal/LocatorLoadBalancingDUnitTest.java b/geode-core/src/distributedTest/java/org/apache/geode/cache/client/internal/LocatorLoadBalancingDUnitTest.java
index 008976d..54f552f 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/cache/client/internal/LocatorLoadBalancingDUnitTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/cache/client/internal/LocatorLoadBalancingDUnitTest.java
@@ -14,7 +14,6 @@
*/
package org.apache.geode.cache.client.internal;
-import static org.apache.geode.distributed.internal.membership.adapter.TcpSocketCreatorAdapter.asTcpSocketCreator;
import static org.apache.geode.test.awaitility.GeodeAwaitility.await;
import java.io.IOException;
@@ -178,10 +177,8 @@ public class LocatorLoadBalancingDUnitTest extends LocatorTestBase {
private Object issueRequest(final String hostName, final int locatorPort,
final Object request, final boolean replyExpected)
throws IOException, ClassNotFoundException {
- return new TcpClient(
- asTcpSocketCreator(
- SocketCreatorFactory
- .getSocketCreatorForComponent(SecurableCommunicationChannel.LOCATOR)),
+ return new TcpClient(SocketCreatorFactory
+ .getSocketCreatorForComponent(SecurableCommunicationChannel.LOCATOR),
InternalDataSerializer.getDSFIDSerializer().getObjectSerializer(),
InternalDataSerializer.getDSFIDSerializer().getObjectDeserializer())
.requestToServer(InetAddress.getByName(hostName),
diff --git a/geode-core/src/integrationTest/java/org/apache/geode/cache/client/internal/AutoConnectionSourceImplJUnitTest.java b/geode-core/src/integrationTest/java/org/apache/geode/cache/client/internal/AutoConnectionSourceImplJUnitTest.java
index ea0e1fb..01ad836 100644
--- a/geode-core/src/integrationTest/java/org/apache/geode/cache/client/internal/AutoConnectionSourceImplJUnitTest.java
+++ b/geode-core/src/integrationTest/java/org/apache/geode/cache/client/internal/AutoConnectionSourceImplJUnitTest.java
@@ -17,7 +17,6 @@ package org.apache.geode.cache.client.internal;
import static org.apache.geode.distributed.ConfigurationProperties.LOCATORS;
import static org.apache.geode.distributed.ConfigurationProperties.MCAST_PORT;
-import static org.apache.geode.distributed.internal.membership.adapter.TcpSocketCreatorAdapter.asTcpSocketCreator;
import static org.apache.geode.test.awaitility.GeodeAwaitility.await;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
@@ -160,10 +159,8 @@ public class AutoConnectionSourceImplJUnitTest {
private void issueStopRequest(final int port)
throws ConnectException, UnknownHostException {
- new TcpClient(
- asTcpSocketCreator(
- SocketCreatorFactory
- .getSocketCreatorForComponent(SecurableCommunicationChannel.LOCATOR)),
+ new TcpClient(SocketCreatorFactory
+ .getSocketCreatorForComponent(SecurableCommunicationChannel.LOCATOR),
InternalDataSerializer.getDSFIDSerializer().getObjectSerializer(),
InternalDataSerializer.getDSFIDSerializer().getObjectDeserializer())
.stop(InetAddress.getLocalHost(), port);
@@ -338,9 +335,8 @@ public class AutoConnectionSourceImplJUnitTest {
"tcp server", new ProtocolCheckerImpl(null, new ClientProtocolServiceLoader()),
DistributionStats::getStatTime,
Executors::newCachedThreadPool,
- asTcpSocketCreator(
- SocketCreatorFactory
- .getSocketCreatorForComponent(SecurableCommunicationChannel.LOCATOR)),
+ SocketCreatorFactory
+ .getSocketCreatorForComponent(SecurableCommunicationChannel.LOCATOR),
InternalDataSerializer.getDSFIDSerializer().getObjectSerializer(),
InternalDataSerializer.getDSFIDSerializer().getObjectDeserializer(),
GeodeGlossary.GEMFIRE_PREFIX + "TcpServer.READ_TIMEOUT",
@@ -426,9 +422,8 @@ public class AutoConnectionSourceImplJUnitTest {
"Tcp Server", new ProtocolCheckerImpl(null, new ClientProtocolServiceLoader()),
DistributionStats::getStatTime,
Executors::newCachedThreadPool,
- asTcpSocketCreator(
- SocketCreatorFactory
- .getSocketCreatorForComponent(SecurableCommunicationChannel.LOCATOR)),
+ SocketCreatorFactory
+ .getSocketCreatorForComponent(SecurableCommunicationChannel.LOCATOR),
InternalDataSerializer.getDSFIDSerializer().getObjectSerializer(),
InternalDataSerializer.getDSFIDSerializer().getObjectDeserializer(),
GeodeGlossary.GEMFIRE_PREFIX + "TcpServer.READ_TIMEOUT",
diff --git a/geode-core/src/integrationTest/java/org/apache/geode/distributed/LocatorIntegrationTest.java b/geode-core/src/integrationTest/java/org/apache/geode/distributed/LocatorIntegrationTest.java
index 31d47a9..e38223e 100644
--- a/geode-core/src/integrationTest/java/org/apache/geode/distributed/LocatorIntegrationTest.java
+++ b/geode-core/src/integrationTest/java/org/apache/geode/distributed/LocatorIntegrationTest.java
@@ -21,7 +21,6 @@ import static org.apache.geode.distributed.ConfigurationProperties.JMX_MANAGER_S
import static org.apache.geode.distributed.ConfigurationProperties.LOCATOR_WAIT_TIME;
import static org.apache.geode.distributed.ConfigurationProperties.LOG_FILE;
import static org.apache.geode.distributed.ConfigurationProperties.MCAST_PORT;
-import static org.apache.geode.distributed.internal.membership.adapter.TcpSocketCreatorAdapter.asTcpSocketCreator;
import static org.apache.geode.internal.AvailablePort.SOCKET;
import static org.apache.geode.internal.AvailablePort.getRandomAvailablePort;
import static org.apache.geode.util.internal.GeodeGlossary.GEMFIRE_PREFIX;
@@ -171,10 +170,8 @@ public class LocatorIntegrationTest {
public void testBasicInfo() throws Exception {
locator = Locator.startLocator(port, tmpFile);
int boundPort = port == 0 ? locator.getPort() : port;
- TcpClient client = new TcpClient(
- asTcpSocketCreator(
- SocketCreatorFactory
- .getSocketCreatorForComponent(SecurableCommunicationChannel.LOCATOR)),
+ TcpClient client = new TcpClient(SocketCreatorFactory
+ .getSocketCreatorForComponent(SecurableCommunicationChannel.LOCATOR),
InternalDataSerializer.getDSFIDSerializer().getObjectSerializer(),
InternalDataSerializer.getDSFIDSerializer().getObjectDeserializer());
String[] info = client.getInfo(InetAddress.getLocalHost(), boundPort);
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 497d2c5..d70e603 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
@@ -21,7 +21,6 @@ import static org.apache.geode.distributed.ConfigurationProperties.LOG_FILE;
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.MEMBER_TIMEOUT;
-import static org.apache.geode.distributed.internal.membership.adapter.TcpSocketCreatorAdapter.asTcpSocketCreator;
import static org.apache.geode.test.awaitility.GeodeAwaitility.await;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
@@ -279,14 +278,12 @@ public class MembershipJUnitTest {
}
};
- final TcpClient locatorClient = new TcpClient(
- asTcpSocketCreator(
- SocketCreatorFactory
- .getSocketCreatorForComponent(SecurableCommunicationChannel.LOCATOR)),
+ final TcpClient locatorClient = new TcpClient(SocketCreatorFactory
+ .getSocketCreatorForComponent(SecurableCommunicationChannel.LOCATOR),
InternalDataSerializer.getDSFIDSerializer().getObjectSerializer(),
InternalDataSerializer.getDSFIDSerializer().getObjectDeserializer());
- final TcpSocketCreator socketCreator = asTcpSocketCreator(SocketCreatorFactory
- .getSocketCreatorForComponent(SecurableCommunicationChannel.CLUSTER));
+ final TcpSocketCreator socketCreator = SocketCreatorFactory
+ .getSocketCreatorForComponent(SecurableCommunicationChannel.CLUSTER);
final GMSAuthenticator authenticator =
new GMSAuthenticator(config.getSecurityProps(), securityService,
mockSystem.getSecurityLogWriter(), mockSystem.getInternalLogWriter());
diff --git a/geode-core/src/integrationTest/java/org/apache/geode/distributed/internal/membership/gms/MembershipOnlyTest.java b/geode-core/src/integrationTest/java/org/apache/geode/distributed/internal/membership/gms/MembershipOnlyTest.java
index c165eb8..94a17e8 100644
--- a/geode-core/src/integrationTest/java/org/apache/geode/distributed/internal/membership/gms/MembershipOnlyTest.java
+++ b/geode-core/src/integrationTest/java/org/apache/geode/distributed/internal/membership/gms/MembershipOnlyTest.java
@@ -14,7 +14,6 @@
*/
package org.apache.geode.distributed.internal.membership.gms;
-import static org.apache.geode.distributed.internal.membership.adapter.TcpSocketCreatorAdapter.asTcpSocketCreator;
import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.Mockito.doAnswer;
import static org.mockito.Mockito.mock;
@@ -44,6 +43,7 @@ import org.apache.geode.distributed.internal.membership.api.MembershipLocator;
import org.apache.geode.distributed.internal.membership.api.MembershipLocatorBuilder;
import org.apache.geode.distributed.internal.tcpserver.TcpClient;
import org.apache.geode.distributed.internal.tcpserver.TcpSocketCreator;
+import org.apache.geode.distributed.internal.tcpserver.TcpSocketCreatorImpl;
import org.apache.geode.internal.InternalDataSerializer;
import org.apache.geode.internal.admin.SSLConfig;
import org.apache.geode.internal.net.SocketCreator;
@@ -68,12 +68,12 @@ public class MembershipOnlyTest {
dsfidSerializer = InternalDataSerializer.getDSFIDSerializer();
// TODO - using geode-core socket creator
- socketCreator = asTcpSocketCreator(new SocketCreator(new SSLConfig.Builder().build()));
+ socketCreator = new SocketCreator(new SSLConfig.Builder().build());
final Supplier<ExecutorService> executorServiceSupplier =
() -> LoggingExecutors.newCachedThreadPool("membership", false);
membershipLocator = MembershipLocatorBuilder.<InternalDistributedMember>newLocatorBuilder(
- socketCreator,
+ new TcpSocketCreatorImpl(),
dsfidSerializer.getObjectSerializer(),
dsfidSerializer.getObjectDeserializer(),
temporaryFolder.newFile("locator").toPath(),
diff --git a/geode-core/src/integrationTest/java/org/apache/geode/distributed/internal/membership/gms/fd/GMSHealthMonitorJUnitTest.java b/geode-core/src/integrationTest/java/org/apache/geode/distributed/internal/membership/gms/fd/GMSHealthMonitorJUnitTest.java
index ac0b6fd..6ddf75b 100644
--- a/geode-core/src/integrationTest/java/org/apache/geode/distributed/internal/membership/gms/fd/GMSHealthMonitorJUnitTest.java
+++ b/geode-core/src/integrationTest/java/org/apache/geode/distributed/internal/membership/gms/fd/GMSHealthMonitorJUnitTest.java
@@ -23,7 +23,6 @@ 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.MCAST_TTL;
import static org.apache.geode.distributed.ConfigurationProperties.MEMBER_TIMEOUT;
-import static org.apache.geode.distributed.internal.membership.adapter.TcpSocketCreatorAdapter.asTcpSocketCreator;
import static org.apache.geode.test.awaitility.GeodeAwaitility.await;
import static org.apache.geode.test.awaitility.GeodeAwaitility.getTimeout;
import static org.assertj.core.api.Assertions.assertThat;
@@ -1023,8 +1022,8 @@ public class GMSHealthMonitorJUnitTest {
public Set<MemberIdentifier> availabilityCheckedMembers = new HashSet<>();
public GMSHealthMonitorTest() {
- super(asTcpSocketCreator(SocketCreatorFactory
- .getSocketCreatorForComponent(SecurableCommunicationChannel.CLUSTER)));
+ super(SocketCreatorFactory
+ .getSocketCreatorForComponent(SecurableCommunicationChannel.CLUSTER));
}
@Override
diff --git a/geode-core/src/integrationTest/java/org/apache/geode/distributed/internal/membership/gms/locator/GMSLocatorIntegrationTest.java b/geode-core/src/integrationTest/java/org/apache/geode/distributed/internal/membership/gms/locator/GMSLocatorIntegrationTest.java
deleted file mode 100644
index 21ba234..0000000
--- a/geode-core/src/integrationTest/java/org/apache/geode/distributed/internal/membership/gms/locator/GMSLocatorIntegrationTest.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * 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.distributed.internal.membership.gms.locator;
-
-import static org.apache.geode.distributed.internal.membership.adapter.TcpSocketCreatorAdapter.asTcpSocketCreator;
-import static org.assertj.core.api.Assertions.assertThat;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
-
-import java.util.Properties;
-
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.TemporaryFolder;
-
-import org.apache.geode.distributed.internal.DistributionConfigImpl;
-import org.apache.geode.distributed.internal.LocatorStats;
-import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
-import org.apache.geode.distributed.internal.membership.api.MembershipConfigurationException;
-import org.apache.geode.distributed.internal.membership.gms.GMSMembership;
-import org.apache.geode.distributed.internal.membership.gms.GMSMembershipView;
-import org.apache.geode.distributed.internal.membership.gms.Services;
-import org.apache.geode.distributed.internal.membership.gms.interfaces.JoinLeave;
-import org.apache.geode.distributed.internal.membership.gms.interfaces.Messenger;
-import org.apache.geode.distributed.internal.tcpserver.TcpClient;
-import org.apache.geode.distributed.internal.tcpserver.TcpServer;
-import org.apache.geode.internal.InternalDataSerializer;
-import org.apache.geode.internal.net.SocketCreatorFactory;
-import org.apache.geode.internal.security.SecurableCommunicationChannel;
-import org.apache.geode.internal.serialization.DSFIDSerializer;
-import org.apache.geode.internal.serialization.Version;
-import org.apache.geode.internal.serialization.internal.DSFIDSerializerImpl;
-
-public class GMSLocatorIntegrationTest {
-
- @Rule
- public TemporaryFolder temporaryFolder = new TemporaryFolder();
-
- private TcpServer tcpServer;
- private GMSMembershipView view;
- private GMSLocator gmsLocator;
- Services services;
- private JoinLeave joinLeave;
- private Messenger messenger;
-
- @Before
- public void setUp() throws MembershipConfigurationException {
-
- SocketCreatorFactory.setDistributionConfig(new DistributionConfigImpl(new Properties()));
-
- tcpServer = mock(TcpServer.class);
- view = new GMSMembershipView();
- services = mock(Services.class);
- DSFIDSerializer serializer = new DSFIDSerializerImpl();
- Services.registerSerializables(serializer);
- when(services.getSerializer()).thenReturn(serializer);
- Version current = Version.CURRENT; // force Version static initialization to set
- // Version
-
- joinLeave = mock(JoinLeave.class);
- when(services.getJoinLeave()).thenReturn(joinLeave);
- messenger = mock(Messenger.class);
- when(services.getMessenger()).thenReturn(messenger);
- when(messenger.getMemberID()).thenReturn(new InternalDistributedMember("localhost", 8080));
-
- gmsLocator =
- new GMSLocator(null, null, false, false, new LocatorStats(), "",
- temporaryFolder.getRoot().toPath(), new TcpClient(
- asTcpSocketCreator(
- SocketCreatorFactory
- .getSocketCreatorForComponent(SecurableCommunicationChannel.LOCATOR)),
- InternalDataSerializer.getDSFIDSerializer().getObjectSerializer(),
- InternalDataSerializer.getDSFIDSerializer().getObjectDeserializer()),
- InternalDataSerializer.getDSFIDSerializer().getObjectSerializer(),
- InternalDataSerializer.getDSFIDSerializer().getObjectDeserializer());
- GMSMembership membership = mock(GMSMembership.class);
- when(membership.getServices()).thenReturn(services);
- gmsLocator.setMembership(membership);
- }
-
- @After
- public void after() {
- SocketCreatorFactory.close();
- }
-
- @Test
- public void viewFileIsNullByDefault() {
- assertThat(gmsLocator.getViewFile()).isNull();
- }
-
- @Test
- public void initDefinesViewFileInSpecifiedDirectory() {
- gmsLocator.init(tcpServer);
-
- assertThat(gmsLocator.getViewFile()).isNotNull();
- }
-
- @Test
- public void installViewCreatesViewFileInSpecifiedDirectory() {
- gmsLocator.init(tcpServer);
-
- gmsLocator.installView(view);
-
- assertThat(gmsLocator.getViewFile()).exists();
- }
-}
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 b04cbd9..dcc49d4 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
@@ -17,7 +17,6 @@ package org.apache.geode.distributed.internal.membership.gms.locator;
import static org.apache.geode.distributed.ConfigurationProperties.BIND_ADDRESS;
import static org.apache.geode.distributed.ConfigurationProperties.DISABLE_TCP;
import static org.apache.geode.distributed.ConfigurationProperties.LOCATORS;
-import static org.apache.geode.distributed.internal.membership.adapter.TcpSocketCreatorAdapter.asTcpSocketCreator;
import static org.apache.geode.distributed.internal.membership.gms.locator.GMSLocator.LOCATOR_FILE_STAMP;
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.catchThrowable;
@@ -95,10 +94,8 @@ public class GMSLocatorRecoveryIntegrationTest {
stateFile = new File(temporaryFolder.getRoot(), getClass().getSimpleName() + "_locator.dat");
gmsLocator = new GMSLocator(null, null, false, false, new LocatorStats(), "",
- temporaryFolder.getRoot().toPath(), new TcpClient(
- asTcpSocketCreator(
- SocketCreatorFactory
- .getSocketCreatorForComponent(SecurableCommunicationChannel.LOCATOR)),
+ temporaryFolder.getRoot().toPath(), new TcpClient(SocketCreatorFactory
+ .getSocketCreatorForComponent(SecurableCommunicationChannel.LOCATOR),
InternalDataSerializer.getDSFIDSerializer().getObjectSerializer(),
InternalDataSerializer.getDSFIDSerializer().getObjectDeserializer()),
InternalDataSerializer.getDSFIDSerializer().getObjectSerializer(),
@@ -189,9 +186,8 @@ public class GMSLocatorRecoveryIntegrationTest {
when(mockSystem.getConfig()).thenReturn(config);
final TcpClient locatorClient = new TcpClient(
- asTcpSocketCreator(
- SocketCreatorFactory
- .getSocketCreatorForComponent(SecurableCommunicationChannel.LOCATOR)),
+ SocketCreatorFactory
+ .getSocketCreatorForComponent(SecurableCommunicationChannel.LOCATOR),
InternalDataSerializer.getDSFIDSerializer().getObjectSerializer(),
InternalDataSerializer.getDSFIDSerializer().getObjectDeserializer());
diff --git a/geode-core/src/integrationTest/java/org/apache/geode/distributed/internal/membership/gms/messenger/JGroupsMessengerJUnitTest.java b/geode-core/src/integrationTest/java/org/apache/geode/distributed/internal/membership/gms/messenger/JGroupsMessengerJUnitTest.java
index 2f7e9dc..169ae0b 100755
--- a/geode-core/src/integrationTest/java/org/apache/geode/distributed/internal/membership/gms/messenger/JGroupsMessengerJUnitTest.java
+++ b/geode-core/src/integrationTest/java/org/apache/geode/distributed/internal/membership/gms/messenger/JGroupsMessengerJUnitTest.java
@@ -21,7 +21,6 @@ import static org.apache.geode.distributed.ConfigurationProperties.LOG_FILE;
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.MCAST_TTL;
-import static org.apache.geode.distributed.internal.membership.adapter.TcpSocketCreatorAdapter.asTcpSocketCreator;
import static org.assertj.core.api.Assertions.assertThat;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
@@ -180,8 +179,8 @@ public class JGroupsMessengerJUnitTest {
when(services.getStatistics()).thenReturn(mock(DistributionStats.class));
- socketCreator = asTcpSocketCreator(SocketCreatorFactory.setDistributionConfig(config)
- .getSocketCreatorForComponent(SecurableCommunicationChannel.CLUSTER));
+ socketCreator = SocketCreatorFactory.setDistributionConfig(config)
+ .getSocketCreatorForComponent(SecurableCommunicationChannel.CLUSTER);
messenger = new JGroupsMessenger<MemberIdentifier>();
messenger.init(services);
diff --git a/geode-core/src/integrationTest/java/org/apache/geode/distributed/internal/tcpserver/TCPClientSSLIntegrationTest.java b/geode-core/src/integrationTest/java/org/apache/geode/distributed/internal/tcpserver/TCPClientSSLIntegrationTest.java
index c6d1c6a..ef05022 100644
--- a/geode-core/src/integrationTest/java/org/apache/geode/distributed/internal/tcpserver/TCPClientSSLIntegrationTest.java
+++ b/geode-core/src/integrationTest/java/org/apache/geode/distributed/internal/tcpserver/TCPClientSSLIntegrationTest.java
@@ -14,7 +14,6 @@
*/
package org.apache.geode.distributed.internal.tcpserver;
-import static org.apache.geode.distributed.internal.membership.adapter.TcpSocketCreatorAdapter.asTcpSocketCreator;
import static org.apache.geode.security.SecurableCommunicationChannels.LOCATOR;
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
@@ -98,11 +97,9 @@ public class TCPClientSSLIntegrationTest {
startTcpServer(serverProperties);
- client = new TcpClient(
- asTcpSocketCreator(
- new SocketCreator(
- SSLConfigurationFactory.getSSLConfigForComponent(clientProperties,
- SecurableCommunicationChannel.LOCATOR))),
+ client = new TcpClient(new SocketCreator(
+ SSLConfigurationFactory.getSSLConfigForComponent(clientProperties,
+ SecurableCommunicationChannel.LOCATOR)),
InternalDataSerializer.getDSFIDSerializer().getObjectSerializer(),
InternalDataSerializer.getDSFIDSerializer().getObjectDeserializer());
}
@@ -122,11 +119,10 @@ public class TCPClientSSLIntegrationTest {
(socket, input, firstByte) -> false,
DistributionStats::getStatTime,
Executors::newCachedThreadPool,
- asTcpSocketCreator(
- new SocketCreator(
- SSLConfigurationFactory.getSSLConfigForComponent(
- new DistributionConfigImpl(sslProperties),
- SecurableCommunicationChannel.LOCATOR))),
+ new SocketCreator(
+ SSLConfigurationFactory.getSSLConfigForComponent(
+ new DistributionConfigImpl(sslProperties),
+ SecurableCommunicationChannel.LOCATOR)),
InternalDataSerializer.getDSFIDSerializer().getObjectSerializer(),
InternalDataSerializer.getDSFIDSerializer().getObjectDeserializer(),
"not-a-system-property",
diff --git a/geode-core/src/integrationTest/java/org/apache/geode/distributed/internal/tcpserver/TCPServerSSLJUnitTest.java b/geode-core/src/integrationTest/java/org/apache/geode/distributed/internal/tcpserver/TCPServerSSLJUnitTest.java
index 768f576..3db34cf 100644
--- a/geode-core/src/integrationTest/java/org/apache/geode/distributed/internal/tcpserver/TCPServerSSLJUnitTest.java
+++ b/geode-core/src/integrationTest/java/org/apache/geode/distributed/internal/tcpserver/TCPServerSSLJUnitTest.java
@@ -22,7 +22,6 @@ import static org.apache.geode.distributed.ConfigurationProperties.SSL_KEYSTORE_
import static org.apache.geode.distributed.ConfigurationProperties.SSL_PROTOCOLS;
import static org.apache.geode.distributed.ConfigurationProperties.SSL_TRUSTSTORE;
import static org.apache.geode.distributed.ConfigurationProperties.SSL_TRUSTSTORE_PASSWORD;
-import static org.apache.geode.distributed.internal.membership.adapter.TcpSocketCreatorAdapter.asTcpSocketCreator;
import static org.apache.geode.test.util.ResourceUtils.createTempFileFromResource;
import static org.assertj.core.api.Assertions.assertThat;
@@ -93,7 +92,7 @@ public class TCPServerSSLJUnitTest {
"server thread",
(socket, input, firstByte) -> false, DistributionStats::getStatTime,
Executors::newCachedThreadPool,
- asTcpSocketCreator(socketCreator),
+ socketCreator,
InternalDataSerializer.getDSFIDSerializer().getObjectSerializer(),
InternalDataSerializer.getDSFIDSerializer().getObjectDeserializer(),
GeodeGlossary.GEMFIRE_PREFIX + "TcpServer.READ_TIMEOUT",
@@ -156,12 +155,10 @@ public class TCPServerSSLJUnitTest {
}
private TcpClient getTcpClient() {
- return new TcpClient(
- asTcpSocketCreator(
- SocketCreatorFactory
- .getSocketCreatorForComponent(
- new DistributionConfigImpl(getSSLConfigurationProperties()),
- SecurableCommunicationChannel.LOCATOR)),
+ return new TcpClient(SocketCreatorFactory
+ .getSocketCreatorForComponent(
+ new DistributionConfigImpl(getSSLConfigurationProperties()),
+ SecurableCommunicationChannel.LOCATOR),
InternalDataSerializer.getDSFIDSerializer().getObjectSerializer(),
InternalDataSerializer.getDSFIDSerializer().getObjectDeserializer());
}
diff --git a/geode-core/src/main/java/org/apache/geode/admin/internal/DistributionLocatorConfigImpl.java b/geode-core/src/main/java/org/apache/geode/admin/internal/DistributionLocatorConfigImpl.java
index 0d8a730..60dacb1 100644
--- a/geode-core/src/main/java/org/apache/geode/admin/internal/DistributionLocatorConfigImpl.java
+++ b/geode-core/src/main/java/org/apache/geode/admin/internal/DistributionLocatorConfigImpl.java
@@ -15,7 +15,6 @@
package org.apache.geode.admin.internal;
import static org.apache.geode.distributed.ConfigurationProperties.MCAST_PORT;
-import static org.apache.geode.distributed.internal.membership.adapter.TcpSocketCreatorAdapter.asTcpSocketCreator;
import static org.apache.geode.internal.net.InetAddressUtilsWithLogging.toInetAddress;
import static org.apache.geode.internal.net.InetAddressUtilsWithLogging.validateHost;
@@ -74,10 +73,8 @@ public class DistributionLocatorConfigImpl extends ManagedEntityConfigImpl
String[] info = new String[] {"unknown", "unknown"};
try {
- TcpClient client = new TcpClient(
- asTcpSocketCreator(
- SocketCreatorFactory
- .getSocketCreatorForComponent(SecurableCommunicationChannel.LOCATOR)),
+ TcpClient client = new TcpClient(SocketCreatorFactory
+ .getSocketCreatorForComponent(SecurableCommunicationChannel.LOCATOR),
InternalDataSerializer.getDSFIDSerializer().getObjectSerializer(),
InternalDataSerializer.getDSFIDSerializer().getObjectDeserializer());
if (bindAddress != null) {
diff --git a/geode-core/src/main/java/org/apache/geode/cache/client/internal/AutoConnectionSourceImpl.java b/geode-core/src/main/java/org/apache/geode/cache/client/internal/AutoConnectionSourceImpl.java
index f9af55b..9b45bca 100644
--- a/geode-core/src/main/java/org/apache/geode/cache/client/internal/AutoConnectionSourceImpl.java
+++ b/geode-core/src/main/java/org/apache/geode/cache/client/internal/AutoConnectionSourceImpl.java
@@ -14,7 +14,6 @@
*/
package org.apache.geode.cache.client.internal;
-import static org.apache.geode.distributed.internal.membership.adapter.TcpSocketCreatorAdapter.asTcpSocketCreator;
import java.io.IOException;
import java.net.ConnectException;
@@ -115,10 +114,8 @@ public class AutoConnectionSourceImpl implements ConnectionSource {
this.initialLocators = Collections.unmodifiableList(this.locators.get().getLocatorAddresses());
this.connectionTimeout = handshakeTimeout;
this.serverGroup = serverGroup;
- this.tcpClient = new TcpClient(
- asTcpSocketCreator(
- SocketCreatorFactory
- .getSocketCreatorForComponent(SecurableCommunicationChannel.LOCATOR)),
+ this.tcpClient = new TcpClient(SocketCreatorFactory
+ .getSocketCreatorForComponent(SecurableCommunicationChannel.LOCATOR),
InternalDataSerializer.getDSFIDSerializer().getObjectSerializer(),
InternalDataSerializer.getDSFIDSerializer().getObjectDeserializer());
}
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 65b55de..f5860c9 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
@@ -20,7 +20,6 @@ import static org.apache.commons.lang3.StringUtils.isNotBlank;
import static org.apache.commons.lang3.StringUtils.lowerCase;
import static org.apache.geode.distributed.ConfigurationProperties.LOG_FILE;
import static org.apache.geode.distributed.ConfigurationProperties.NAME;
-import static org.apache.geode.distributed.internal.membership.adapter.TcpSocketCreatorAdapter.asTcpSocketCreator;
import static org.apache.geode.internal.lang.StringUtils.wrap;
import static org.apache.geode.internal.lang.SystemUtils.CURRENT_DIRECTORY;
import static org.apache.geode.internal.util.IOUtils.tryGetCanonicalPathElseGetAbsolutePath;
@@ -320,7 +319,7 @@ public class LocatorLauncher extends AbstractLauncher<String> {
final SSLConfig sslConfig = SSLConfigurationFactory.getSSLConfigForComponent(
properties,
SecurableCommunicationChannel.LOCATOR);
- final TcpSocketCreator socketCreator = asTcpSocketCreator(new SocketCreator(sslConfig));
+ final TcpSocketCreator socketCreator = new SocketCreator(sslConfig);
final TcpClient client = new TcpClient(socketCreator,
InternalDataSerializer.getDSFIDSerializer().getObjectSerializer(),
InternalDataSerializer.getDSFIDSerializer().getObjectDeserializer());
diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/DistributionImpl.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/DistributionImpl.java
index 2e91de9..482fe9d 100644
--- a/geode-core/src/main/java/org/apache/geode/distributed/internal/DistributionImpl.java
+++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/DistributionImpl.java
@@ -14,7 +14,6 @@
*/
package org.apache.geode.distributed.internal;
-import static org.apache.geode.distributed.internal.membership.adapter.TcpSocketCreatorAdapter.asTcpSocketCreator;
import java.io.DataInput;
import java.io.DataOutput;
@@ -127,14 +126,12 @@ public class DistributionImpl implements Distribution {
memberTimeout = system.getConfig().getMemberTimeout();
try {
- final TcpClient locatorClient = new TcpClient(
- asTcpSocketCreator(
- SocketCreatorFactory
- .getSocketCreatorForComponent(SecurableCommunicationChannel.LOCATOR)),
+ final TcpClient locatorClient = new TcpClient(SocketCreatorFactory
+ .getSocketCreatorForComponent(SecurableCommunicationChannel.LOCATOR),
InternalDataSerializer.getDSFIDSerializer().getObjectSerializer(),
InternalDataSerializer.getDSFIDSerializer().getObjectDeserializer());
- final TcpSocketCreator socketCreator = asTcpSocketCreator(SocketCreatorFactory
- .getSocketCreatorForComponent(SecurableCommunicationChannel.CLUSTER));
+ final TcpSocketCreator socketCreator = SocketCreatorFactory
+ .getSocketCreatorForComponent(SecurableCommunicationChannel.CLUSTER);
membership = MembershipBuilder.<InternalDistributedMember>newMembershipBuilder(
socketCreator,
locatorClient,
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 6c9da5c..61f92ca 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
@@ -18,7 +18,6 @@ import static org.apache.commons.lang3.exception.ExceptionUtils.getStackTrace;
import static org.apache.geode.distributed.ConfigurationProperties.BIND_ADDRESS;
import static org.apache.geode.distributed.ConfigurationProperties.CACHE_XML_FILE;
import static org.apache.geode.distributed.ConfigurationProperties.LOCATORS;
-import static org.apache.geode.distributed.internal.membership.adapter.TcpSocketCreatorAdapter.asTcpSocketCreator;
import static org.apache.geode.internal.admin.remote.DistributionLocatorId.asDistributionLocatorIds;
import static org.apache.geode.util.internal.GeodeGlossary.GEMFIRE_PREFIX;
@@ -540,9 +539,8 @@ public class InternalLocator extends Locator implements ConnectListener, LogConf
MAX_POOL_SIZE, new DelayedPoolStatHelper(),
POOL_IDLE_TIMEOUT,
new ThreadPoolExecutor.CallerRunsPolicy());
- final TcpSocketCreator socketCreator = asTcpSocketCreator(
- SocketCreatorFactory
- .getSocketCreatorForComponent(SecurableCommunicationChannel.LOCATOR));
+ final TcpSocketCreator socketCreator = SocketCreatorFactory
+ .getSocketCreatorForComponent(SecurableCommunicationChannel.LOCATOR);
membershipLocator =
MembershipLocatorBuilder.<InternalDistributedMember>newLocatorBuilder(
socketCreator,
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
deleted file mode 100644
index 2e81a89..0000000
--- a/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/adapter/TcpSocketCreatorAdapter.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
- * 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.distributed.internal.membership.adapter;
-
-import java.io.IOException;
-import java.net.InetAddress;
-import java.net.ServerSocket;
-import java.net.Socket;
-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.net.SocketCreator;
-
-/**
- * Adapt a SocketCreator from geode-core to function as a TcpSocketAdapter
- * in geode-tcp-server
- */
-public class TcpSocketCreatorAdapter implements TcpSocketCreator {
- private final SocketCreator socketCreator;
-
- private TcpSocketCreatorAdapter(final SocketCreator socketCreator) {
- Objects.requireNonNull(socketCreator);
- this.socketCreator = socketCreator;
- }
-
- public static TcpSocketCreator asTcpSocketCreator(
- final SocketCreator socketCreator) {
- return new TcpSocketCreatorAdapter(socketCreator);
- }
-
- @Override
- public boolean useSSL() {
- return socketCreator.useSSL();
- }
-
- @Override
- public ServerSocket createServerSocket(final int nport, final int backlog) throws IOException {
- return socketCreator.createServerSocket(nport, backlog);
- }
-
- @Override
- public ServerSocket createServerSocket(final int nport, final int backlog,
- final InetAddress bindAddr)
- throws IOException {
- return socketCreator.createServerSocket(nport, backlog, bindAddr);
- }
-
- @Override
- public ServerSocket createServerSocketUsingPortRange(final InetAddress ba, final int backlog,
- final boolean isBindAddress, final boolean useNIO, final int tcpBufferSize,
- final int[] tcpPortRange, final boolean sslConnection) throws IOException {
- return socketCreator.createServerSocketUsingPortRange(ba, backlog, isBindAddress, useNIO,
- tcpBufferSize, tcpPortRange, sslConnection);
- }
-
- @Override
- public Socket connect(final InetAddress inetadd, final int port, final int timeout,
- final ConnectionWatcher optionalWatcher, final boolean clientSide)
- throws IOException {
- return socketCreator.connect(inetadd, port, timeout, optionalWatcher, clientSide);
- }
-
- @Override
- public Socket connect(InetAddress inetadd, int port, int timeout,
- ConnectionWatcher optionalWatcher, boolean clientSide, int socketBufferSize,
- boolean sslConnection) throws IOException {
- return socketCreator.connect(inetadd, port, timeout, optionalWatcher, clientSide,
- socketBufferSize, sslConnection);
- }
-
- @Override
- public void handshakeIfSocketIsSSL(final Socket socket, final int timeout) throws IOException {
- socketCreator.handshakeIfSocketIsSSL(socket, timeout);
- }
-
-}
diff --git a/geode-core/src/main/java/org/apache/geode/internal/DistributionLocator.java b/geode-core/src/main/java/org/apache/geode/internal/DistributionLocator.java
index a9db6ae..82c0e26 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/DistributionLocator.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/DistributionLocator.java
@@ -14,7 +14,6 @@
*/
package org.apache.geode.internal;
-import static org.apache.geode.distributed.internal.membership.adapter.TcpSocketCreatorAdapter.asTcpSocketCreator;
import java.io.File;
import java.io.IOException;
@@ -71,10 +70,8 @@ public class DistributionLocator {
public static void stop(InetAddress addr, int port) {
try {
- new TcpClient(
- asTcpSocketCreator(
- SocketCreatorFactory
- .getSocketCreatorForComponent(SecurableCommunicationChannel.LOCATOR)),
+ new TcpClient(SocketCreatorFactory
+ .getSocketCreatorForComponent(SecurableCommunicationChannel.LOCATOR),
InternalDataSerializer.getDSFIDSerializer().getObjectSerializer(),
InternalDataSerializer.getDSFIDSerializer().getObjectDeserializer()).stop(addr,
port);
diff --git a/geode-core/src/main/java/org/apache/geode/internal/SystemAdmin.java b/geode-core/src/main/java/org/apache/geode/internal/SystemAdmin.java
index 199473c..33a15a5 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/SystemAdmin.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/SystemAdmin.java
@@ -16,7 +16,6 @@ package org.apache.geode.internal;
import static org.apache.geode.distributed.ConfigurationProperties.LOG_LEVEL;
import static org.apache.geode.distributed.ConfigurationProperties.START_LOCATOR;
-import static org.apache.geode.distributed.internal.membership.adapter.TcpSocketCreatorAdapter.asTcpSocketCreator;
import java.io.BufferedInputStream;
import java.io.BufferedReader;
@@ -295,10 +294,8 @@ public class SystemAdmin {
}
try {
- new TcpClient(
- asTcpSocketCreator(
- SocketCreatorFactory
- .getSocketCreatorForComponent(SecurableCommunicationChannel.LOCATOR)),
+ new TcpClient(SocketCreatorFactory
+ .getSocketCreatorForComponent(SecurableCommunicationChannel.LOCATOR),
InternalDataSerializer.getDSFIDSerializer().getObjectSerializer(),
InternalDataSerializer.getDSFIDSerializer().getObjectDeserializer())
.stop(addr, port);
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 439de6a..d937b74 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
@@ -28,7 +28,6 @@ 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;
import java.security.GeneralSecurityException;
import java.security.KeyStore;
@@ -43,7 +42,6 @@ import java.util.List;
import java.util.Map;
import java.util.Properties;
import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.ThreadLocalRandom;
import javax.net.ServerSocketFactory;
import javax.net.SocketFactory;
@@ -75,6 +73,7 @@ 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.tcpserver.ConnectionWatcher;
+import org.apache.geode.distributed.internal.tcpserver.TcpSocketCreatorImpl;
import org.apache.geode.internal.ClassPathLoader;
import org.apache.geode.internal.admin.SSLConfig;
import org.apache.geode.internal.cache.wan.TransportFilterServerSocket;
@@ -107,7 +106,7 @@ import org.apache.geode.util.internal.GeodeGlossary;
* Additional properties will be set as System properties to be available as needed by other
* provider implementations.
*/
-public class SocketCreator {
+public class SocketCreator extends TcpSocketCreatorImpl {
private static final Logger logger = LogService.getLogger();
@@ -160,19 +159,7 @@ public class SocketCreator {
* gemfire.setTcpKeepAlive java system property. If not set then GemFire will enable keep-alive on
* server->client and p2p connections.
*/
- public static final boolean ENABLE_TCP_KEEP_ALIVE;
-
- static {
- // bug #49484 - customers want tcp/ip keep-alive turned on by default
- // to avoid dropped connections. It can be turned off by setting this
- // property to false
- String str = System.getProperty(GeodeGlossary.GEMFIRE_PREFIX + "setTcpKeepAlive");
- if (str != null) {
- ENABLE_TCP_KEEP_ALIVE = Boolean.valueOf(str);
- } else {
- ENABLE_TCP_KEEP_ALIVE = true;
- }
- }
+ public static final boolean ENABLE_TCP_KEEP_ALIVE = TcpSocketCreatorImpl.ENABLE_TCP_KEEP_ALIVE;
// -------------------------------------------------------------------------
// Constructor
@@ -539,18 +526,11 @@ public class SocketCreator {
/**
* Returns true if this SocketCreator is configured to use SSL.
*/
+ @Override
public boolean useSSL() {
return this.sslConfig.isEnabled();
}
- /**
- * Return a ServerSocket possibly configured for SSL. SSL configuration is left up to JSSE
- * properties in java.security file.
- */
- public ServerSocket createServerSocket(int nport, int backlog) throws IOException {
- return createServerSocket(nport, backlog, null);
- }
-
public ServerSocket createServerSocket(int nport, int backlog, InetAddress bindAddr,
List<GatewayTransportFilter> transportFilters, int socketBufferSize) throws IOException {
if (transportFilters.isEmpty()) {
@@ -575,62 +555,34 @@ public class SocketCreator {
}
}
- /**
- * Return a ServerSocket possibly configured for SSL. SSL configuration is left up to JSSE
- * properties in java.security file.
- */
- public ServerSocket createServerSocket(int nport, int backlog, InetAddress bindAddr)
- throws IOException {
- return createServerSocket(nport, backlog, bindAddr, -1, sslConfig.isEnabled());
- }
-
public ServerSocket createServerSocket(int nport, int backlog, InetAddress bindAddr,
int socketBufferSize) throws IOException {
return createServerSocket(nport, backlog, bindAddr, socketBufferSize, sslConfig.isEnabled());
}
- private ServerSocket createServerSocket(int nport, int backlog, InetAddress bindAddr,
+ @Override
+ protected ServerSocket createServerSocket(int nport, int backlog, InetAddress bindAddr,
int socketBufferSize, boolean sslConnection) throws IOException {
printConfig();
- if (sslConnection) {
- if (this.sslContext == null) {
- throw new GemFireConfigException(
- "SSL not configured correctly, Please look at previous error");
- }
- ServerSocketFactory ssf = this.sslContext.getServerSocketFactory();
- SSLServerSocket serverSocket = (SSLServerSocket) ssf.createServerSocket();
- serverSocket.setReuseAddress(true);
- // If necessary, set the receive buffer size before binding the socket so
- // that large buffers will be allocated on accepted sockets (see
- // java.net.ServerSocket.setReceiverBufferSize javadocs)
- if (socketBufferSize != -1) {
- serverSocket.setReceiveBufferSize(socketBufferSize);
- }
- serverSocket.bind(new InetSocketAddress(bindAddr, nport), backlog);
- finishServerSocket(serverSocket);
- return serverSocket;
- } else {
- // log.info("Opening server socket on " + nport, new Exception("SocketCreation"));
- ServerSocket result = new ServerSocket();
- result.setReuseAddress(true);
- // If necessary, set the receive buffer size before binding the socket so
- // that large buffers will be allocated on accepted sockets (see
- // java.net.ServerSocket.setReceiverBufferSize javadocs)
- if (socketBufferSize != -1) {
- result.setReceiveBufferSize(socketBufferSize);
- }
- try {
- result.bind(new InetSocketAddress(bindAddr, nport), backlog);
- } catch (BindException e) {
- BindException throwMe =
- new BindException(String.format("Failed to create server socket on %s[%s]",
- bindAddr == null ? InetAddress.getLocalHost() : bindAddr,
- String.valueOf(nport)));
- throwMe.initCause(e);
- throw throwMe;
- }
- return result;
+ if (!sslConnection) {
+ return super.createServerSocket(nport, backlog, bindAddr, socketBufferSize, sslConnection);
+ }
+ if (this.sslContext == null) {
+ throw new GemFireConfigException(
+ "SSL not configured correctly, Please look at previous error");
+ }
+ ServerSocketFactory ssf = this.sslContext.getServerSocketFactory();
+ SSLServerSocket serverSocket = (SSLServerSocket) ssf.createServerSocket();
+ serverSocket.setReuseAddress(true);
+ // If necessary, set the receive buffer size before binding the socket so
+ // that large buffers will be allocated on accepted sockets (see
+ // java.net.ServerSocket.setReceiverBufferSize javadocs)
+ if (socketBufferSize != -1) {
+ serverSocket.setReceiveBufferSize(socketBufferSize);
}
+ serverSocket.bind(new InetSocketAddress(bindAddr, nport), backlog);
+ finishServerSocket(serverSocket);
+ return serverSocket;
}
/**
@@ -648,60 +600,14 @@ public class SocketCreator {
tcpPortRange, sslConfig.isEnabled());
}
- /**
- * Creates or bind server socket to a random port selected from tcp-port-range which is same as
- * membership-port-range.
- *
- * @param sslConnection whether to connect using SSL
- *
- * @return Returns the new server socket.
- *
- */
- public ServerSocket createServerSocketUsingPortRange(InetAddress ba, int backlog,
- boolean isBindAddress, boolean useNIO, int tcpBufferSize, int[] tcpPortRange,
- boolean sslConnection) {
+ @Override
+ protected RuntimeException problemCreatingSocketInPortRangeException(String s, IOException e) {
+ return new SystemConnectException(s, e);
+ }
- try {
- // Get a random port from range.
- int startingPort = tcpPortRange[0]
- + ThreadLocalRandom.current().nextInt(tcpPortRange[1] - tcpPortRange[0] + 1);
- int localPort = startingPort;
- int portLimit = tcpPortRange[1];
-
- while (true) {
- if (localPort > portLimit) {
- if (startingPort != 0) {
- localPort = tcpPortRange[0];
- portLimit = startingPort - 1;
- startingPort = 0;
- } else {
- throw new SystemConnectException(
- "Unable to find a free port in the membership-port-range");
- }
- }
- ServerSocket socket = null;
- try {
- if (useNIO) {
- ServerSocketChannel channel = ServerSocketChannel.open();
- socket = channel.socket();
-
- InetSocketAddress address = new InetSocketAddress(isBindAddress ? ba : null, localPort);
- socket.bind(address, backlog);
- } else {
- socket = this.createServerSocket(localPort, backlog, isBindAddress ? ba : null,
- tcpBufferSize, sslConnection);
- }
- return socket;
- } catch (java.net.SocketException ex) {
- if (socket != null && !socket.isClosed()) {
- socket.close();
- }
- localPort++;
- }
- }
- } catch (IOException e) {
- throw new GemFireConfigException("unable to create a socket in the membership-port range", e);
- }
+ @Override
+ protected RuntimeException noFreePortException(String reason) {
+ return new GemFireConfigException(reason);
}
/**
@@ -732,16 +638,6 @@ public class SocketCreator {
* socket factory
*/
public Socket connect(InetAddress inetadd, int port, int timeout,
- ConnectionWatcher optionalWatcher, boolean clientSide) throws IOException {
- return connect(inetadd, port, timeout, optionalWatcher, clientSide, -1);
- }
-
- /**
- * Return a client socket, timing out if unable to connect and timeout > 0 (millis). The parameter
- * <i>timeout</i> is ignored if SSL is being used, as there is no timeout argument in the ssl
- * socket factory
- */
- public Socket connect(InetAddress inetadd, int port, int timeout,
ConnectionWatcher optionalWatcher, boolean clientSide, int socketBufferSize)
throws IOException {
return connect(inetadd, port, timeout, optionalWatcher, clientSide, socketBufferSize,
@@ -753,60 +649,47 @@ public class SocketCreator {
* <i>timeout</i> is ignored if SSL is being used, as there is no timeout argument in the ssl
* socket factory
*/
+ @Override
public Socket connect(InetAddress inetadd, int port, int timeout,
ConnectionWatcher optionalWatcher, boolean clientSide, int socketBufferSize,
boolean sslConnection) throws IOException {
- Socket socket = null;
- SocketAddress sockaddr = new InetSocketAddress(inetadd, port);
+
printConfig();
- try {
- if (sslConnection) {
- if (this.sslContext == null) {
- throw new GemFireConfigException(
- "SSL not configured correctly, Please look at previous error");
- }
- SocketFactory sf = this.sslContext.getSocketFactory();
- socket = sf.createSocket();
- // Optionally enable SO_KEEPALIVE in the OS network protocol.
- socket.setKeepAlive(ENABLE_TCP_KEEP_ALIVE);
+ if (!sslConnection) {
+ return super.connect(inetadd, port, timeout, optionalWatcher, clientSide, socketBufferSize,
+ sslConnection);
+ }
- // If necessary, set the receive buffer size before connecting the
- // socket so that large buffers will be allocated on accepted sockets
- // (see java.net.Socket.setReceiverBufferSize javadocs for details)
- if (socketBufferSize != -1) {
- socket.setReceiveBufferSize(socketBufferSize);
- }
+ // create an SSL connection
- if (optionalWatcher != null) {
- optionalWatcher.beforeConnect(socket);
- }
- socket.connect(sockaddr, Math.max(timeout, 0));
- configureClientSSLSocket(socket, timeout);
- return socket;
- } else {
- if (clientSide && this.clientSocketFactory != null) {
- socket = this.clientSocketFactory.createSocket(inetadd, port);
- } else {
- socket = new Socket();
+ Socket socket;
+ SocketAddress sockaddr = new InetSocketAddress(inetadd, port);
+ if (this.sslContext == null) {
+ throw new GemFireConfigException(
+ "SSL not configured correctly, Please look at previous error");
+ }
+ SocketFactory sf = this.sslContext.getSocketFactory();
+ socket = sf.createSocket();
- // Optionally enable SO_KEEPALIVE in the OS network protocol.
- socket.setKeepAlive(ENABLE_TCP_KEEP_ALIVE);
+ // Optionally enable SO_KEEPALIVE in the OS network protocol.
+ socket.setKeepAlive(ENABLE_TCP_KEEP_ALIVE);
- // If necessary, set the receive buffer size before connecting the
- // socket so that large buffers will be allocated on accepted sockets
- // (see java.net.Socket.setReceiverBufferSize javadocs for details)
- if (socketBufferSize != -1) {
- socket.setReceiveBufferSize(socketBufferSize);
- }
+ // If necessary, set the receive buffer size before connecting the
+ // socket so that large buffers will be allocated on accepted sockets
+ // (see java.net.Socket.setReceiverBufferSize javadocs for details)
+ if (socketBufferSize != -1) {
+ socket.setReceiveBufferSize(socketBufferSize);
+ }
- if (optionalWatcher != null) {
- optionalWatcher.beforeConnect(socket);
- }
- socket.connect(sockaddr, Math.max(timeout, 0));
- }
- return socket;
+ try {
+ if (optionalWatcher != null) {
+ optionalWatcher.beforeConnect(socket);
}
+ socket.connect(sockaddr, Math.max(timeout, 0));
+ configureClientSSLSocket(socket, timeout);
+ return socket;
+
} finally {
if (optionalWatcher != null) {
optionalWatcher.afterConnect(socket);
@@ -913,33 +796,34 @@ public class SocketCreator {
* @param timeout the number of milliseconds allowed for the handshake to complete
*/
public void handshakeIfSocketIsSSL(Socket socket, int timeout) throws IOException {
- if (socket instanceof SSLSocket) {
- int oldTimeout = socket.getSoTimeout();
- socket.setSoTimeout(timeout);
- SSLSocket sslSocket = (SSLSocket) socket;
- try {
- sslSocket.startHandshake();
- } catch (SSLPeerUnverifiedException ex) {
- if (this.sslConfig.isRequireAuth()) {
- logger.fatal(String.format("SSL Error in authenticating peer %s[%s].",
- socket.getInetAddress(), socket.getPort()), ex);
- throw ex;
- }
+ if (!(socket instanceof SSLSocket)) {
+ return;
+ }
+ int oldTimeout = socket.getSoTimeout();
+ socket.setSoTimeout(timeout);
+ SSLSocket sslSocket = (SSLSocket) socket;
+ try {
+ sslSocket.startHandshake();
+ } catch (SSLPeerUnverifiedException ex) {
+ if (this.sslConfig.isRequireAuth()) {
+ logger.fatal(String.format("SSL Error in authenticating peer %s[%s].",
+ socket.getInetAddress(), socket.getPort()), ex);
+ throw ex;
}
- // Pre jkd11, startHandshake is throwing SocketTimeoutException.
- // in jdk 11 it is throwing SSLProtocolException with a cause of SocketTimeoutException.
- // this is to keep the exception consistent across jdk
- catch (SSLProtocolException ex) {
- if (ex.getCause() instanceof SocketTimeoutException) {
- throw (SocketTimeoutException) ex.getCause();
- } else {
- throw ex;
- }
- } finally {
- try {
- socket.setSoTimeout(oldTimeout);
- } catch (SocketException ignored) {
- }
+ }
+ // Pre jkd11, startHandshake is throwing SocketTimeoutException.
+ // in jdk 11 it is throwing SSLProtocolException with a cause of SocketTimeoutException.
+ // this is to keep the exception consistent across jdk
+ catch (SSLProtocolException ex) {
+ if (ex.getCause() instanceof SocketTimeoutException) {
+ throw (SocketTimeoutException) ex.getCause();
+ } else {
+ throw ex;
+ }
+ } finally {
+ try {
+ socket.setSoTimeout(oldTimeout);
+ } catch (SocketException ignored) {
}
}
}
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/JmxManagerLocatorRequest.java b/geode-core/src/main/java/org/apache/geode/management/internal/JmxManagerLocatorRequest.java
index 9dd30e9..2ce9a80 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/JmxManagerLocatorRequest.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/JmxManagerLocatorRequest.java
@@ -14,8 +14,6 @@
*/
package org.apache.geode.management.internal;
-import static org.apache.geode.distributed.internal.membership.adapter.TcpSocketCreatorAdapter.asTcpSocketCreator;
-
import java.io.DataInput;
import java.io.DataOutput;
import java.io.IOException;
@@ -86,7 +84,7 @@ public class JmxManagerLocatorRequest implements DataSerializableFixedID {
SSLConfig sslConfig = SSLConfigurationFactory.getSSLConfigForComponent(sslConfigProps,
SecurableCommunicationChannel.LOCATOR);
SocketCreator socketCreator = new SocketCreator(sslConfig);
- TcpClient client = new TcpClient(asTcpSocketCreator(socketCreator),
+ TcpClient client = new TcpClient(socketCreator,
InternalDataSerializer.getDSFIDSerializer().getObjectSerializer(),
InternalDataSerializer.getDSFIDSerializer().getObjectDeserializer());
Object responseFromServer = client.requestToServer(inetSockAddr, SINGLETON, msTimeout, true);
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/api/GeodeConnectionConfig.java b/geode-core/src/main/java/org/apache/geode/management/internal/api/GeodeConnectionConfig.java
index 1bc8147..6084e38 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/api/GeodeConnectionConfig.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/api/GeodeConnectionConfig.java
@@ -16,7 +16,6 @@
package org.apache.geode.management.internal.api;
-import static org.apache.geode.distributed.internal.membership.adapter.TcpSocketCreatorAdapter.asTcpSocketCreator;
import java.net.InetSocketAddress;
import java.util.List;
@@ -176,8 +175,8 @@ public class GeodeConnectionConfig
}
config = ((GemFireCacheImpl) clientCache).getSystem().getConfig();
TcpClient client =
- new TcpClient(asTcpSocketCreator(SocketCreatorFactory.setDistributionConfig(config)
- .getSocketCreatorForComponent(SecurableCommunicationChannel.LOCATOR)),
+ new TcpClient(SocketCreatorFactory.setDistributionConfig(config)
+ .getSocketCreatorForComponent(SecurableCommunicationChannel.LOCATOR),
InternalDataSerializer.getDSFIDSerializer().getObjectSerializer(),
InternalDataSerializer.getDSFIDSerializer().getObjectDeserializer());
cmsInfo = null;
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/configuration/utils/ClusterConfigurationStatusRetriever.java b/geode-core/src/main/java/org/apache/geode/management/internal/configuration/utils/ClusterConfigurationStatusRetriever.java
index 648ebfd..5e72d0d 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/configuration/utils/ClusterConfigurationStatusRetriever.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/configuration/utils/ClusterConfigurationStatusRetriever.java
@@ -14,7 +14,6 @@
*/
package org.apache.geode.management.internal.configuration.utils;
-import static org.apache.geode.distributed.internal.membership.adapter.TcpSocketCreatorAdapter.asTcpSocketCreator;
import java.io.IOException;
import java.net.InetAddress;
@@ -40,9 +39,9 @@ public class ClusterConfigurationStatusRetriever {
final InetAddress networkAddress = InetAddress.getByName(locatorHostName);
- TcpClient client = new TcpClient(asTcpSocketCreator(
+ TcpClient client = new TcpClient(
new SocketCreator(SSLConfigurationFactory.getSSLConfigForComponent(configProps,
- SecurableCommunicationChannel.LOCATOR))),
+ SecurableCommunicationChannel.LOCATOR)),
InternalDataSerializer.getDSFIDSerializer().getObjectSerializer(),
InternalDataSerializer.getDSFIDSerializer().getObjectDeserializer());
SharedConfigurationStatusResponse statusResponse =
diff --git a/geode-junit/src/main/java/org/apache/geode/internal/net/SocketCreatorFailHandshake.java b/geode-junit/src/main/java/org/apache/geode/internal/net/SocketCreatorFailHandshake.java
deleted file mode 100644
index 769e2be..0000000
--- a/geode-junit/src/main/java/org/apache/geode/internal/net/SocketCreatorFailHandshake.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * 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.net;
-
-import java.io.IOException;
-import java.net.Socket;
-import java.util.List;
-
-import javax.net.ssl.SSLException;
-
-import org.apache.geode.internal.admin.SSLConfig;
-
-/*
- * This test class will fail the TLS handshake with an SSLException, by default.
- */
-public class SocketCreatorFailHandshake extends SocketCreator {
-
- private final List<Integer> socketSoTimeouts;
- private boolean failTLSHandshake;
-
- public SocketCreatorFailHandshake(SSLConfig sslConfig, List<Integer> socketTimeouts) {
- super(sslConfig);
- this.socketSoTimeouts = socketTimeouts;
- failTLSHandshake = true;
- }
-
- /**
- * @param failTLSHandshake false will cause the next handshake to NOT throw SSLException
- */
- public void setFailTLSHandshake(final boolean failTLSHandshake) {
- this.failTLSHandshake = failTLSHandshake;
- }
-
- @Override
- public void handshakeIfSocketIsSSL(Socket socket, int timeout) throws IOException {
- this.socketSoTimeouts.add(timeout);
- if (failTLSHandshake)
- throw new SSLException("This is a test SSLException");
- else
- super.handshakeIfSocketIsSSL(socket, timeout);
- }
-}
diff --git a/geode-membership/src/main/java/org/apache/geode/distributed/internal/membership/api/MembershipLocator.java b/geode-membership/src/main/java/org/apache/geode/distributed/internal/membership/api/MembershipLocator.java
index fd81e92..b96d55b 100644
--- a/geode-membership/src/main/java/org/apache/geode/distributed/internal/membership/api/MembershipLocator.java
+++ b/geode-membership/src/main/java/org/apache/geode/distributed/internal/membership/api/MembershipLocator.java
@@ -19,6 +19,7 @@ import java.io.IOException;
import java.net.SocketAddress;
import org.apache.geode.distributed.internal.tcpserver.TcpHandler;
+import org.apache.geode.distributed.internal.tcpserver.TcpSocketCreator;
public interface MembershipLocator<ID extends MemberIdentifier> {
@@ -45,4 +46,6 @@ public interface MembershipLocator<ID extends MemberIdentifier> {
void addHandler(Class<?> clazz, TcpHandler handler);
boolean isHandled(Class<?> clazz);
+
+ void setSocketCreator(TcpSocketCreator socketCreator);
}
diff --git a/geode-membership/src/main/java/org/apache/geode/distributed/internal/membership/gms/MembershipLocatorBuilderImpl.java b/geode-membership/src/main/java/org/apache/geode/distributed/internal/membership/gms/MembershipLocatorBuilderImpl.java
index cb21986..bbbaab6 100644
--- a/geode-membership/src/main/java/org/apache/geode/distributed/internal/membership/gms/MembershipLocatorBuilderImpl.java
+++ b/geode-membership/src/main/java/org/apache/geode/distributed/internal/membership/gms/MembershipLocatorBuilderImpl.java
@@ -106,10 +106,14 @@ public final class MembershipLocatorBuilderImpl<ID extends MemberIdentifier> imp
@Override
public MembershipLocator<ID> create()
throws UnknownHostException, MembershipConfigurationException {
- return new MembershipLocatorImpl<ID>(port, bindAddress, protocolChecker,
+ MembershipLocator locator = new MembershipLocatorImpl<ID>(port, bindAddress, protocolChecker,
executorServiceSupplier,
- socketCreator, objectSerializer, objectDeserializer, fallbackHandler,
+ objectSerializer, objectDeserializer, fallbackHandler,
locatorsAreCoordinators, locatorStats, workingDirectory, config);
+ if (socketCreator != null) {
+ locator.setSocketCreator(socketCreator);
+ }
+ return locator;
}
}
diff --git a/geode-membership/src/main/java/org/apache/geode/distributed/internal/membership/gms/locator/MembershipLocatorImpl.java b/geode-membership/src/main/java/org/apache/geode/distributed/internal/membership/gms/locator/MembershipLocatorImpl.java
index bda5ec0..f764b47 100644
--- a/geode-membership/src/main/java/org/apache/geode/distributed/internal/membership/gms/locator/MembershipLocatorImpl.java
+++ b/geode-membership/src/main/java/org/apache/geode/distributed/internal/membership/gms/locator/MembershipLocatorImpl.java
@@ -55,10 +55,12 @@ public class MembershipLocatorImpl<ID extends MemberIdentifier> implements Membe
private final GMSLocator<ID> gmsLocator;
private final TcpClient locatorClient;
+ private TcpSocketCreator socketCreator;
+
public MembershipLocatorImpl(int port, InetAddress bindAddress,
ProtocolChecker protocolChecker,
Supplier<ExecutorService> executorServiceSupplier,
- TcpSocketCreator socketCreator, ObjectSerializer objectSerializer,
+ ObjectSerializer objectSerializer,
ObjectDeserializer objectDeserializer,
TcpHandler fallbackHandler,
boolean locatorsAreCoordinators,
@@ -153,6 +155,11 @@ public class MembershipLocatorImpl<ID extends MemberIdentifier> implements Membe
return this.handler.isHandled(clazz);
}
+ @Override
+ public void setSocketCreator(TcpSocketCreator socketCreator) {
+ this.socketCreator = socketCreator;
+ }
+
public void stop() {
if (isAlive()) {
logger.info("Stopping {}", this);
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 a3076aa..b283358 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
@@ -17,7 +17,6 @@ package org.apache.geode.distributed.internal.tcpserver;
import static org.apache.geode.distributed.ConfigurationProperties.ENABLE_CLUSTER_CONFIGURATION;
import static org.apache.geode.distributed.ConfigurationProperties.LOCATORS;
import static org.apache.geode.distributed.ConfigurationProperties.MCAST_PORT;
-import static org.apache.geode.distributed.internal.membership.adapter.TcpSocketCreatorAdapter.asTcpSocketCreator;
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.fail;
@@ -146,10 +145,8 @@ public class TcpServerGossipVersionDUnitTest extends JUnit4DistributedTestCase {
new InternalDistributedMember("localhost", 1234));
FindCoordinatorResponse response;
- response = (FindCoordinatorResponse) new TcpClient(
- asTcpSocketCreator(
- SocketCreatorFactory
- .getSocketCreatorForComponent(SecurableCommunicationChannel.LOCATOR)),
+ response = (FindCoordinatorResponse) new TcpClient(SocketCreatorFactory
+ .getSocketCreatorForComponent(SecurableCommunicationChannel.LOCATOR),
InternalDataSerializer.getDSFIDSerializer().getObjectSerializer(),
InternalDataSerializer.getDSFIDSerializer().getObjectDeserializer())
.requestToServer(LocalHostUtil.getLocalHost(), port0, req, 5000);
diff --git a/geode-tcp-server/src/distributedTest/java/org/apache/geode/distributed/internal/tcpserver/TcpServerJUnitTest.java b/geode-tcp-server/src/distributedTest/java/org/apache/geode/distributed/internal/tcpserver/TcpServerJUnitTest.java
index 6e73366..a0947e5 100644
--- a/geode-tcp-server/src/distributedTest/java/org/apache/geode/distributed/internal/tcpserver/TcpServerJUnitTest.java
+++ b/geode-tcp-server/src/distributedTest/java/org/apache/geode/distributed/internal/tcpserver/TcpServerJUnitTest.java
@@ -14,7 +14,6 @@
*/
package org.apache.geode.distributed.internal.tcpserver;
-import static org.apache.geode.distributed.internal.membership.adapter.TcpSocketCreatorAdapter.asTcpSocketCreator;
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.assertThatThrownBy;
import static org.junit.Assert.assertEquals;
@@ -96,9 +95,8 @@ public class TcpServerJUnitTest {
() -> CoreLoggingExecutors.newThreadPoolWithSynchronousFeed("locator request thread ",
InternalLocator.MAX_POOL_SIZE, stats, InternalLocator.POOL_IDLE_TIMEOUT,
new ThreadPoolExecutor.CallerRunsPolicy()),
- asTcpSocketCreator(
- SocketCreatorFactory
- .getSocketCreatorForComponent(SecurableCommunicationChannel.LOCATOR)),
+ SocketCreatorFactory
+ .getSocketCreatorForComponent(SecurableCommunicationChannel.LOCATOR),
InternalDataSerializer.getDSFIDSerializer().getObjectSerializer(),
InternalDataSerializer.getDSFIDSerializer().getObjectDeserializer(),
GeodeGlossary.GEMFIRE_PREFIX + "TcpServer.READ_TIMEOUT",
@@ -150,10 +148,8 @@ public class TcpServerJUnitTest {
}
private TcpClient createTcpClient() {
- return new TcpClient(
- asTcpSocketCreator(
- SocketCreatorFactory
- .getSocketCreatorForComponent(SecurableCommunicationChannel.LOCATOR)),
+ return new TcpClient(SocketCreatorFactory
+ .getSocketCreatorForComponent(SecurableCommunicationChannel.LOCATOR),
InternalDataSerializer.getDSFIDSerializer().getObjectSerializer(),
InternalDataSerializer.getDSFIDSerializer().getObjectDeserializer());
}
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..e98cbf8 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
@@ -17,7 +17,6 @@ package org.apache.geode.distributed.internal.tcpserver;
import static org.apache.geode.distributed.ConfigurationProperties.ENABLE_CLUSTER_CONFIGURATION;
import static org.apache.geode.distributed.ConfigurationProperties.NAME;
import static org.apache.geode.distributed.ConfigurationProperties.USE_CLUSTER_CONFIGURATION;
-import static org.apache.geode.distributed.internal.membership.adapter.TcpSocketCreatorAdapter.asTcpSocketCreator;
import static org.assertj.core.api.Assertions.assertThat;
import java.io.File;
@@ -198,9 +197,8 @@ public class TcpServerProductVersionDUnitTest implements Serializable {
.setDistributionConfig(new DistributionConfigImpl(getDistributedSystemProperties()));
return new TcpClient(
- asTcpSocketCreator(
- SocketCreatorFactory
- .getSocketCreatorForComponent(SecurableCommunicationChannel.LOCATOR)),
+ SocketCreatorFactory
+ .getSocketCreatorForComponent(SecurableCommunicationChannel.LOCATOR),
InternalDataSerializer.getDSFIDSerializer().getObjectSerializer(),
InternalDataSerializer.getDSFIDSerializer().getObjectDeserializer());
}
diff --git a/geode-tcp-server/src/main/java/org/apache/geode/distributed/internal/tcpserver/ConnectionWatcher.java b/geode-tcp-server/src/main/java/org/apache/geode/distributed/internal/tcpserver/ConnectionWatcher.java
deleted file mode 100755
index a68da56..0000000
--- a/geode-tcp-server/src/main/java/org/apache/geode/distributed/internal/tcpserver/ConnectionWatcher.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * 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.distributed.internal.tcpserver;
-
-import java.net.Socket;
-
-/**
- * ConnectionWatcher is used to observe tcp/ip connection formation in SockCreator implementations.
- *
- *
- */
-public interface ConnectionWatcher {
- /**
- * this is invoked with the connecting socket just prior to issuing a connect() call. It can be
- * used to start another thread or task to monitor the connection attempt.
- */
- void beforeConnect(Socket socket);
-
- /**
- * this is invoked after the connection attempt has finished. It can be used to cancel the task
- * started by beforeConnect
- */
- void afterConnect(Socket socket);
-}
diff --git a/geode-tcp-server/src/main/java/org/apache/geode/distributed/internal/tcpserver/TcpServer.java b/geode-tcp-server/src/main/java/org/apache/geode/distributed/internal/tcpserver/TcpServer.java
index 70548ee..26793e0 100755
--- a/geode-tcp-server/src/main/java/org/apache/geode/distributed/internal/tcpserver/TcpServer.java
+++ b/geode-tcp-server/src/main/java/org/apache/geode/distributed/internal/tcpserver/TcpServer.java
@@ -149,7 +149,11 @@ public class TcpServer {
this.executor = executorServiceSupplier.get();
this.threadName = threadName;
this.nanoTimeSupplier = nanoTimeSupplier;
- this.socketCreator = socketCreator;
+ if (socketCreator == null) {
+ this.socketCreator = new TcpSocketCreatorImpl();
+ } else {
+ this.socketCreator = socketCreator;
+ }
this.objectSerializer = objectSerializer;
this.objectDeserializer = objectDeserializer;
readTimeout = Integer.getInteger(readTimeoutPropertyName, 60 * 1000);
diff --git a/geode-tcp-server/src/main/java/org/apache/geode/distributed/internal/tcpserver/TcpSocketCreator.java b/geode-tcp-server/src/main/java/org/apache/geode/distributed/internal/tcpserver/TcpSocketCreator.java
deleted file mode 100644
index 11b7876..0000000
--- a/geode-tcp-server/src/main/java/org/apache/geode/distributed/internal/tcpserver/TcpSocketCreator.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * 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.distributed.internal.tcpserver;
-
-import java.io.IOException;
-import java.net.InetAddress;
-import java.net.ServerSocket;
-import java.net.Socket;
-
-
-/**
- * Create sockets for TcpServer (and TcpClient).
- */
-public interface TcpSocketCreator {
- boolean useSSL();
-
- ServerSocket createServerSocket(int nport, int backlog) throws IOException;
-
- ServerSocket createServerSocket(int nport, int backlog, InetAddress bindAddr)
- throws IOException;
-
- ServerSocket createServerSocketUsingPortRange(InetAddress ba, int backlog,
- boolean isBindAddress, boolean useNIO, int tcpBufferSize, int[] tcpPortRange,
- boolean sslConnection) throws IOException;
-
- Socket connect(InetAddress inetadd, int port, int timeout,
- ConnectionWatcher optionalWatcher, boolean clientSide) throws IOException;
-
- Socket connect(InetAddress inetadd, int port, int timeout,
- ConnectionWatcher optionalWatcher, boolean clientSide, int socketBufferSize,
- boolean sslConnection) throws IOException;
-
- void handshakeIfSocketIsSSL(Socket socket, int timeout) throws IOException;
-
-}
diff --git a/geode-wan/src/main/java/org/apache/geode/cache/client/internal/locator/wan/LocatorDiscovery.java b/geode-wan/src/main/java/org/apache/geode/cache/client/internal/locator/wan/LocatorDiscovery.java
index a0aefda..ce1c7e2 100644
--- a/geode-wan/src/main/java/org/apache/geode/cache/client/internal/locator/wan/LocatorDiscovery.java
+++ b/geode-wan/src/main/java/org/apache/geode/cache/client/internal/locator/wan/LocatorDiscovery.java
@@ -14,7 +14,6 @@
*/
package org.apache.geode.cache.client.internal.locator.wan;
-import static org.apache.geode.distributed.internal.membership.adapter.TcpSocketCreatorAdapter.asTcpSocketCreator;
import java.io.IOException;
import java.util.concurrent.ConcurrentHashMap;
@@ -66,10 +65,8 @@ public class LocatorDiscovery {
this.locatorId = locator;
this.request = request;
this.locatorListener = locatorListener;
- this.locatorClient = new TcpClient(
- asTcpSocketCreator(
- SocketCreatorFactory
- .getSocketCreatorForComponent(SecurableCommunicationChannel.LOCATOR)),
+ this.locatorClient = new TcpClient(SocketCreatorFactory
+ .getSocketCreatorForComponent(SecurableCommunicationChannel.LOCATOR),
InternalDataSerializer.getDSFIDSerializer().getObjectSerializer(),
InternalDataSerializer.getDSFIDSerializer().getObjectDeserializer());
}
diff --git a/geode-wan/src/main/java/org/apache/geode/cache/client/internal/locator/wan/LocatorMembershipListenerImpl.java b/geode-wan/src/main/java/org/apache/geode/cache/client/internal/locator/wan/LocatorMembershipListenerImpl.java
index d0eaf58..31315ed 100644
--- a/geode-wan/src/main/java/org/apache/geode/cache/client/internal/locator/wan/LocatorMembershipListenerImpl.java
+++ b/geode-wan/src/main/java/org/apache/geode/cache/client/internal/locator/wan/LocatorMembershipListenerImpl.java
@@ -14,7 +14,6 @@
*/
package org.apache.geode.cache.client.internal.locator.wan;
-import static org.apache.geode.distributed.internal.membership.adapter.TcpSocketCreatorAdapter.asTcpSocketCreator;
import java.util.Arrays;
import java.util.HashMap;
@@ -62,10 +61,8 @@ public class LocatorMembershipListenerImpl implements LocatorMembershipListener
new ConcurrentHashMap<>();
LocatorMembershipListenerImpl() {
- this.tcpClient = new TcpClient(
- asTcpSocketCreator(
- SocketCreatorFactory
- .getSocketCreatorForComponent(SecurableCommunicationChannel.LOCATOR)),
+ this.tcpClient = new TcpClient(SocketCreatorFactory
+ .getSocketCreatorForComponent(SecurableCommunicationChannel.LOCATOR),
InternalDataSerializer.getDSFIDSerializer().getObjectSerializer(),
InternalDataSerializer.getDSFIDSerializer().getObjectDeserializer());
}
diff --git a/geode-wan/src/main/java/org/apache/geode/internal/cache/wan/AbstractRemoteGatewaySender.java b/geode-wan/src/main/java/org/apache/geode/internal/cache/wan/AbstractRemoteGatewaySender.java
index 24159b2..a728d8f 100644
--- a/geode-wan/src/main/java/org/apache/geode/internal/cache/wan/AbstractRemoteGatewaySender.java
+++ b/geode-wan/src/main/java/org/apache/geode/internal/cache/wan/AbstractRemoteGatewaySender.java
@@ -14,7 +14,6 @@
*/
package org.apache.geode.internal.cache.wan;
-import static org.apache.geode.distributed.internal.membership.adapter.TcpSocketCreatorAdapter.asTcpSocketCreator;
import java.io.IOException;
import java.net.ConnectException;
@@ -81,10 +80,8 @@ public abstract class AbstractRemoteGatewaySender extends AbstractGatewaySender
DistributionLocatorId locatorID = new DistributionLocatorId(localLocator);
try {
RemoteLocatorResponse response =
- (RemoteLocatorResponse) new TcpClient(
- asTcpSocketCreator(
- SocketCreatorFactory
- .getSocketCreatorForComponent(SecurableCommunicationChannel.LOCATOR)),
+ (RemoteLocatorResponse) new TcpClient(SocketCreatorFactory
+ .getSocketCreatorForComponent(SecurableCommunicationChannel.LOCATOR),
InternalDataSerializer.getDSFIDSerializer().getObjectSerializer(),
InternalDataSerializer.getDSFIDSerializer().getObjectDeserializer())
.requestToServer(locatorID.getHost(), request,