You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by jc...@apache.org on 2015/11/13 00:55:41 UTC

incubator-geode git commit: GEODE-77: Fix unable to allocate a failure detection port in the membership-port range

Repository: incubator-geode
Updated Branches:
  refs/heads/feature/GEODE-77 21274f9c9 -> 4addcea05


GEODE-77: Fix unable to allocate a failure detection port in the membership-port range


Project: http://git-wip-us.apache.org/repos/asf/incubator-geode/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-geode/commit/4addcea0
Tree: http://git-wip-us.apache.org/repos/asf/incubator-geode/tree/4addcea0
Diff: http://git-wip-us.apache.org/repos/asf/incubator-geode/diff/4addcea0

Branch: refs/heads/feature/GEODE-77
Commit: 4addcea057a22e1f1c5f131f8bc1f2f42a04fe4b
Parents: 21274f9
Author: Jianxia Chen <jc...@pivotal.io>
Authored: Thu Nov 12 15:49:37 2015 -0800
Committer: Jianxia Chen <jc...@pivotal.io>
Committed: Thu Nov 12 15:53:01 2015 -0800

----------------------------------------------------------------------
 .../internal/membership/gms/fd/GMSHealthMonitor.java     | 11 ++---------
 1 file changed, 2 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/4addcea0/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/fd/GMSHealthMonitor.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/fd/GMSHealthMonitor.java b/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/fd/GMSHealthMonitor.java
index b9ec83a..84eca62 100755
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/fd/GMSHealthMonitor.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/fd/GMSHealthMonitor.java
@@ -10,7 +10,6 @@ import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
 import java.net.InetAddress;
-import java.net.InetSocketAddress;
 import java.net.ServerSocket;
 import java.net.Socket;
 import java.net.SocketTimeoutException;
@@ -41,7 +40,6 @@ import org.jgroups.util.UUID;
 
 import com.gemstone.gemfire.CancelException;
 import com.gemstone.gemfire.GemFireConfigException;
-import com.gemstone.gemfire.SystemConnectException;
 import com.gemstone.gemfire.distributed.DistributedMember;
 import com.gemstone.gemfire.distributed.DistributedSystemDisconnectedException;
 import com.gemstone.gemfire.distributed.internal.DistributionMessage;
@@ -55,7 +53,6 @@ import com.gemstone.gemfire.distributed.internal.membership.gms.messages.Heartbe
 import com.gemstone.gemfire.distributed.internal.membership.gms.messages.HeartbeatRequestMessage;
 import com.gemstone.gemfire.distributed.internal.membership.gms.messages.SuspectMembersMessage;
 import com.gemstone.gemfire.distributed.internal.membership.gms.messages.SuspectRequest;
-import com.gemstone.gemfire.internal.AvailablePort;
 import com.gemstone.gemfire.internal.ConnectionWatcher;
 import com.gemstone.gemfire.internal.SocketCreator;
 import com.gemstone.gemfire.internal.Version;
@@ -614,13 +611,9 @@ public class GMSHealthMonitor implements HealthMonitor, MessageHandler {
     // socket port and joining the system
     socketAddress = localAddress.getInetAddress();
     int[] portRange = services.getConfig().getMembershipPortRange();            
-    socketPort = AvailablePort.getAvailablePortInRange(portRange[0], portRange[1], AvailablePort.SOCKET);
-    if (socketPort == -1) {
-      throw new SystemConnectException("Unable to find a free port in the membership port range");
-    }
     try {
-      serverSocket = new ServerSocket();
-      serverSocket.bind(new InetSocketAddress(socketAddress, socketPort));
+      serverSocket = SocketCreator.getDefaultInstance().createServerSocketUsingPortRange(socketAddress, 50/*backlog*/, true/*isBindAddress*/, false/*useNIO*/, 65536/*tcpBufferSize*/, portRange);
+      socketPort = serverSocket.getLocalPort();
     } catch (IOException e) {
       throw new GemFireConfigException("Unable to allocate a failure detection port in the membership-port range", e);
     }