You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@asterixdb.apache.org by mb...@apache.org on 2018/02/28 14:58:50 UTC

asterixdb git commit: [NO ISSUE] stop awaiting IPC connect on state == CLOSED

Repository: asterixdb
Updated Branches:
  refs/heads/master 42b6bbee3 -> 05bb98f3a


[NO ISSUE] stop awaiting IPC connect on state == CLOSED

Change-Id: I0dc67100cfcb827d54abfc8b0f0d358bf6e02aeb
Reviewed-on: https://asterix-gerrit.ics.uci.edu/2434
Reviewed-by: Murtadha Hubail <mh...@apache.org>
Tested-by: Michael Blow <mb...@apache.org>


Project: http://git-wip-us.apache.org/repos/asf/asterixdb/repo
Commit: http://git-wip-us.apache.org/repos/asf/asterixdb/commit/05bb98f3
Tree: http://git-wip-us.apache.org/repos/asf/asterixdb/tree/05bb98f3
Diff: http://git-wip-us.apache.org/repos/asf/asterixdb/diff/05bb98f3

Branch: refs/heads/master
Commit: 05bb98f3a411e7a04fb1b5180432ceec4928ff09
Parents: 42b6bbe
Author: Michael Blow <mb...@apache.org>
Authored: Wed Feb 28 01:24:38 2018 -0500
Committer: Michael Blow <mb...@apache.org>
Committed: Wed Feb 28 06:58:31 2018 -0800

----------------------------------------------------------------------
 .../org/apache/hyracks/ipc/impl/IPCHandle.java    | 18 +++++++++++++++---
 1 file changed, 15 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/asterixdb/blob/05bb98f3/hyracks-fullstack/hyracks/hyracks-ipc/src/main/java/org/apache/hyracks/ipc/impl/IPCHandle.java
----------------------------------------------------------------------
diff --git a/hyracks-fullstack/hyracks/hyracks-ipc/src/main/java/org/apache/hyracks/ipc/impl/IPCHandle.java b/hyracks-fullstack/hyracks/hyracks-ipc/src/main/java/org/apache/hyracks/ipc/impl/IPCHandle.java
index b3a992b..d63bfbd 100644
--- a/hyracks-fullstack/hyracks/hyracks-ipc/src/main/java/org/apache/hyracks/ipc/impl/IPCHandle.java
+++ b/hyracks-fullstack/hyracks/hyracks-ipc/src/main/java/org/apache/hyracks/ipc/impl/IPCHandle.java
@@ -118,10 +118,22 @@ final class IPCHandle implements IIPCHandle {
     }
 
     synchronized boolean waitTillConnected() throws InterruptedException {
-        while (state != HandleState.CONNECTED && state != HandleState.CONNECT_FAILED) {
-            wait();
+        while (true) {
+            switch (state) {
+                case INITIAL:
+                case CONNECT_SENT:
+                case CONNECT_RECEIVED:
+                    // TODO: need a reasonable timeout here
+                    wait();
+                    break;
+                case CONNECTED:
+                case CONNECT_FAILED:
+                case CLOSED:
+                    return state == HandleState.CONNECTED;
+                default:
+                    throw new IllegalStateException("unknown state: " + state);
+            }
         }
-        return state == HandleState.CONNECTED;
     }
 
     ByteBuffer getInBuffer() {