abdullah alamoudi has uploaded a new change for review.

  https://asterix-gerrit.ics.uci.edu/2397

Change subject: [NO ISSUE][CLUS] Synchronize restoration of NC->CC connection
......................................................................

[NO ISSUE][CLUS] Synchronize restoration of NC->CC connection

- user model changes: no
- storage format changes: no
- interface changes: no

details:
- If an NC detects that the NC to CC connection is dead,
  then only a single sender will revive the connection.

Change-Id: I1ec58d7fbc96d7352882e6588ef2ce12dc66511e
---
M 
hyracks-fullstack/hyracks/hyracks-ipc/src/main/java/org/apache/hyracks/ipc/impl/ReconnectingIPCHandle.java
1 file changed, 11 insertions(+), 6 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb 
refs/changes/97/2397/1

diff --git 
a/hyracks-fullstack/hyracks/hyracks-ipc/src/main/java/org/apache/hyracks/ipc/impl/ReconnectingIPCHandle.java
 
b/hyracks-fullstack/hyracks/hyracks-ipc/src/main/java/org/apache/hyracks/ipc/impl/ReconnectingIPCHandle.java
index 9a2fc80..db0ed6b 100644
--- 
a/hyracks-fullstack/hyracks/hyracks-ipc/src/main/java/org/apache/hyracks/ipc/impl/ReconnectingIPCHandle.java
+++ 
b/hyracks-fullstack/hyracks/hyracks-ipc/src/main/java/org/apache/hyracks/ipc/impl/ReconnectingIPCHandle.java
@@ -72,12 +72,17 @@
         if (delegate.isConnected()) {
             return delegate;
         }
-        LOGGER.warn("ipcHandle {} disconnected; will attempt to reconnect {} 
times", delegate, reconnectAttempts);
-        listener.ipcHandleDisconnected(delegate);
-        delegate = ipc.getHandle(getRemoteAddress(), reconnectAttempts);
-        LOGGER.warn("ipcHandle {} restored", delegate);
-        listener.ipcHandleRestored(delegate);
-        return delegate;
+        synchronized (this) {
+            if (delegate.isConnected()) {
+                return delegate;
+            }
+            LOGGER.warn("ipcHandle {} disconnected; will attempt to reconnect 
{} times", delegate, reconnectAttempts);
+            listener.ipcHandleDisconnected(delegate);
+            delegate = ipc.getHandle(getRemoteAddress(), reconnectAttempts);
+            LOGGER.warn("ipcHandle {} restored", delegate);
+            listener.ipcHandleRestored(delegate);
+            return delegate;
+        }
     }
 
 }

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/2397
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I1ec58d7fbc96d7352882e6588ef2ce12dc66511e
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: abdullah alamoudi <[email protected]>

Reply via email to