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);

Reply via email to