Michael Blow has uploaded a new change for review.
https://asterix-gerrit.ics.uci.edu/2434
Change subject: [NO ISSUE] stop awaiting IPC connect on state == CLOSED
......................................................................
[NO ISSUE] stop awaiting IPC connect on state == CLOSED
Change-Id: I0dc67100cfcb827d54abfc8b0f0d358bf6e02aeb
---
M
hyracks-fullstack/hyracks/hyracks-ipc/src/main/java/org/apache/hyracks/ipc/impl/IPCHandle.java
1 file changed, 15 insertions(+), 3 deletions(-)
git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb
refs/changes/34/2434/1
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 @@
}
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() {
--
To view, visit https://asterix-gerrit.ics.uci.edu/2434
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I0dc67100cfcb827d54abfc8b0f0d358bf6e02aeb
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Michael Blow <[email protected]>