You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by mc...@apache.org on 2018/09/10 21:21:59 UTC
[geode] branch develop updated: GEODE-5628: Getting two random
ports at once and fixing formatting (#2441)
This is an automated email from the ASF dual-hosted git repository.
mcmellawatt 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 e586c84 GEODE-5628: Getting two random ports at once and fixing formatting (#2441)
e586c84 is described below
commit e586c841c98e4f7f27217ede42e6059771f673cf
Author: Ryan McMahon <rm...@pivotal.io>
AuthorDate: Mon Sep 10 14:21:52 2018 -0700
GEODE-5628: Getting two random ports at once and fixing formatting (#2441)
* GEODE-5628: Getting two random ports at once and fixing formatting
Co-authored-by: Ryan McMahon <rm...@pivotal.io>
Co-authored-by: Sai Boorlagadda <sb...@pivotal.io>
---
.../apache/geode/internal/net/SocketCreator.java | 3 +-
.../geode/internal/net/SocketCreatorJUnitTest.java | 34 ++++++++++++++++++++--
...gradeEventProcessingMixedSiteOneOldSiteTwo.java | 7 +++--
3 files changed, 38 insertions(+), 6 deletions(-)
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 7fd1efa..9d75013 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
@@ -750,7 +750,8 @@ public class SocketCreator {
} catch (BindException e) {
BindException throwMe =
new BindException(LocalizedStrings.SocketCreator_FAILED_TO_CREATE_SERVER_SOCKET_ON_0_1
- .toLocalizedString(bindAddr, Integer.valueOf(nport)));
+ .toLocalizedString(bindAddr == null ? InetAddress.getLocalHost() : bindAddr,
+ String.valueOf(nport)));
throwMe.initCause(e);
throw throwMe;
}
diff --git a/geode-core/src/test/java/org/apache/geode/internal/net/SocketCreatorJUnitTest.java b/geode-core/src/test/java/org/apache/geode/internal/net/SocketCreatorJUnitTest.java
index df7cd47..c3eac28 100644
--- a/geode-core/src/test/java/org/apache/geode/internal/net/SocketCreatorJUnitTest.java
+++ b/geode-core/src/test/java/org/apache/geode/internal/net/SocketCreatorJUnitTest.java
@@ -14,11 +14,15 @@
*/
package org.apache.geode.internal.net;
+import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
+import java.net.BindException;
+import java.net.InetAddress;
+import java.net.ServerSocket;
import java.net.Socket;
import java.security.cert.Certificate;
import java.security.cert.X509Certificate;
@@ -76,10 +80,36 @@ public class SocketCreatorJUnitTest {
verify(socket, never()).setSoTimeout(timeout);
}
- private String getSingleKeyKeystore() {
- return TestUtil.getResourcePath(getClass(), "/ssl/trusted.keystore");
+ @Test
+ public void testBindExceptionMessageFormattingWithBindAddr() throws Exception {
+ testBindExceptionMessageFormatting(InetAddress.getLocalHost());
+ }
+
+ @Test
+ public void testBindExceptionMessageFormattingNullBindAddr() throws Exception {
+ testBindExceptionMessageFormatting(null);
}
+ private void testBindExceptionMessageFormatting(InetAddress inetAddress) throws Exception {
+ final SocketCreator socketCreator = new SocketCreator(mock(SSLConfig.class));
+ final Socket socket = mock(Socket.class);
+ ServerSocket serverSocket = null;
+ try {
+ serverSocket = socketCreator.createServerSocket(11234, 10, inetAddress);
+ assertThatExceptionOfType(BindException.class).isThrownBy(() -> {
+ // call twice on the same port to trigger exception
+ socketCreator.createServerSocket(11234, 10, inetAddress);
+ }).withMessageContaining("11234")
+ .withMessageContaining(InetAddress.getLocalHost().getHostAddress());
+ } finally {
+ if (serverSocket != null) {
+ serverSocket.close();
+ }
+ }
+ }
+ private String getSingleKeyKeystore() {
+ return TestUtil.getResourcePath(getClass(), "/ssl/trusted.keystore");
+ }
}
diff --git a/geode-wan/src/upgradeTest/java/org/apache/geode/cache/wan/WANRollingUpgradeEventProcessingMixedSiteOneOldSiteTwo.java b/geode-wan/src/upgradeTest/java/org/apache/geode/cache/wan/WANRollingUpgradeEventProcessingMixedSiteOneOldSiteTwo.java
index 2e4dd07..51b6003 100644
--- a/geode-wan/src/upgradeTest/java/org/apache/geode/cache/wan/WANRollingUpgradeEventProcessingMixedSiteOneOldSiteTwo.java
+++ b/geode-wan/src/upgradeTest/java/org/apache/geode/cache/wan/WANRollingUpgradeEventProcessingMixedSiteOneOldSiteTwo.java
@@ -22,7 +22,7 @@ import org.awaitility.Awaitility;
import org.junit.Test;
import org.apache.geode.distributed.internal.InternalLocator;
-import org.apache.geode.internal.AvailablePort;
+import org.apache.geode.internal.AvailablePortHelper;
import org.apache.geode.internal.cache.wan.parallel.ParallelGatewaySenderQueue;
import org.apache.geode.test.dunit.DistributedTestUtils;
import org.apache.geode.test.dunit.Host;
@@ -49,13 +49,14 @@ public class WANRollingUpgradeEventProcessingMixedSiteOneOldSiteTwo
// Get mixed site locator properties
String hostName = NetworkUtils.getServerHostName(host);
- final int site1LocatorPort = AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET);
+ final int[] availablePorts = AvailablePortHelper.getRandomAvailableTCPPorts(2);
+ final int site1LocatorPort = availablePorts[0];
DistributedTestUtils.deleteLocatorStateFile(site1LocatorPort);
final String site1Locators = hostName + "[" + site1LocatorPort + "]";
final int site1DistributedSystemId = 0;
// Get old site locator properties
- final int site2LocatorPort = AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET);
+ final int site2LocatorPort = availablePorts[1];
DistributedTestUtils.deleteLocatorStateFile(site2LocatorPort);
final String site2Locators = hostName + "[" + site2LocatorPort + "]";
final int site2DistributedSystemId = 1;