Repository: asterixdb Updated Branches: refs/heads/master 7d594a386 -> 94aa28c37
[NO ISSUE] Enable RPC to reconnect IPC handles Change-Id: Ieea8ebedc58dbfd65dbc1cb13721eeb83b6a475a Reviewed-on: https://asterix-gerrit.ics.uci.edu/2289 Sonar-Qube: Jenkins <[email protected]> Reviewed-by: Murtadha Hubail <[email protected]> Tested-by: Jenkins <[email protected]> Project: http://git-wip-us.apache.org/repos/asf/asterixdb/repo Commit: http://git-wip-us.apache.org/repos/asf/asterixdb/commit/94aa28c3 Tree: http://git-wip-us.apache.org/repos/asf/asterixdb/tree/94aa28c3 Diff: http://git-wip-us.apache.org/repos/asf/asterixdb/diff/94aa28c3 Branch: refs/heads/master Commit: 94aa28c371fb41da39e5e177b52358c9693b1f8b Parents: 7d594a3 Author: Michael Blow <[email protected]> Authored: Tue Jan 16 20:04:56 2018 -0500 Committer: Michael Blow <[email protected]> Committed: Tue Jan 16 21:16:44 2018 -0800 ---------------------------------------------------------------------- .../shutdown/test/ClusterShutdownIT.java | 25 ++++++++++---------- .../apache/hyracks/ipc/api/RPCInterface.java | 5 ---- 2 files changed, 13 insertions(+), 17 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/asterixdb/blob/94aa28c3/hyracks-fullstack/hyracks/hyracks-examples/hyracks-shutdown-test/src/test/java/org/apache/hyracks/examples/shutdown/test/ClusterShutdownIT.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-examples/hyracks-shutdown-test/src/test/java/org/apache/hyracks/examples/shutdown/test/ClusterShutdownIT.java b/hyracks-fullstack/hyracks/hyracks-examples/hyracks-shutdown-test/src/test/java/org/apache/hyracks/examples/shutdown/test/ClusterShutdownIT.java index 6f4d8b1..49b2779 100644 --- a/hyracks-fullstack/hyracks/hyracks-examples/hyracks-shutdown-test/src/test/java/org/apache/hyracks/examples/shutdown/test/ClusterShutdownIT.java +++ b/hyracks-fullstack/hyracks/hyracks-examples/hyracks-shutdown-test/src/test/java/org/apache/hyracks/examples/shutdown/test/ClusterShutdownIT.java @@ -20,16 +20,15 @@ package org.apache.hyracks.examples.shutdown.test; import java.net.ServerSocket; +import org.apache.hyracks.api.client.HyracksConnection; +import org.apache.hyracks.api.client.IHyracksClientConnection; +import org.apache.hyracks.ipc.exceptions.IPCException; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.junit.Rule; import org.junit.Test; import org.junit.rules.ExpectedException; -import org.apache.hyracks.api.client.HyracksConnection; -import org.apache.hyracks.api.client.IHyracksClientConnection; -import org.apache.hyracks.ipc.exceptions.IPCException; - public class ClusterShutdownIT { private static Logger LOGGER = LogManager.getLogger(); @Rule @@ -40,21 +39,23 @@ public class ClusterShutdownIT { hcc.stopCluster(false); //what happens here... closeTwice.expect(IPCException.class); - closeTwice.expectMessage("Cannot send on a closed handle"); + closeTwice.expectMessage("Connection failed to localhost/127.0.0.1:1098"); hcc.stopCluster(false); ServerSocket c = null; ServerSocket s = null; try { - c = new ServerSocket(1098); - //we should be able to bind to this - s = new ServerSocket(1099); - //and we should be able to bind to this too + c = new ServerSocket(1098); // we should be able to bind to this + s = new ServerSocket(1099); // and we should be able to bind to this too } catch (Exception e) { - LOGGER.error(e.getMessage()); + LOGGER.error("Unexpected error", e); throw e; } finally { - s.close(); - c.close(); + if (s != null) { + s.close(); + } + if (c != null) { + c.close(); + } } } http://git-wip-us.apache.org/repos/asf/asterixdb/blob/94aa28c3/hyracks-fullstack/hyracks/hyracks-ipc/src/main/java/org/apache/hyracks/ipc/api/RPCInterface.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-ipc/src/main/java/org/apache/hyracks/ipc/api/RPCInterface.java b/hyracks-fullstack/hyracks/hyracks-ipc/src/main/java/org/apache/hyracks/ipc/api/RPCInterface.java index ba1c9a4..7dae541 100644 --- a/hyracks-fullstack/hyracks/hyracks-ipc/src/main/java/org/apache/hyracks/ipc/api/RPCInterface.java +++ b/hyracks-fullstack/hyracks/hyracks-ipc/src/main/java/org/apache/hyracks/ipc/api/RPCInterface.java @@ -21,8 +21,6 @@ package org.apache.hyracks.ipc.api; import java.util.HashMap; import java.util.Map; -import org.apache.hyracks.ipc.exceptions.IPCException; - public class RPCInterface implements IIPCI { private final Map<Long, Request> reqMap; @@ -34,9 +32,6 @@ public class RPCInterface implements IIPCI { Request req; long mid; synchronized (this) { - if (!handle.isConnected()) { - throw new IPCException("Cannot send on a closed handle"); - } req = new Request(handle, this); mid = handle.send(-1, request, null); reqMap.put(mid, req);
