This is an automated email from the ASF dual-hosted git repository.

mblow pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/asterixdb.git

commit d345cdcdee0f14302b94eeb0b8cb300cd6570586
Author: Murtadha Hubail <[email protected]>
AuthorDate: Wed May 17 03:09:25 2023 +0300

    [ASTERIXDB-3186][HYR] Resolve NC address on CC for heartbeat acks
    
    - user model changes: no
    - storage format changes: no
    - interface changes: no
    
    Details:
    
    - Ensure that the nc address is resolved on the CC when
      sending a negative heartbeat ack.
    
    Change-Id: I4ed0f1dda6508ab502e1eb9a38d033da26de6465
    Reviewed-on: https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/17539
    Integration-Tests: Jenkins <[email protected]>
    Tested-by: Jenkins <[email protected]>
    Reviewed-by: Ali Alsuliman <[email protected]>
---
 .../org/apache/hyracks/control/cc/work/NodeHeartbeatWork.java     | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git 
a/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/work/NodeHeartbeatWork.java
 
b/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/work/NodeHeartbeatWork.java
index 6fa6224f3d..481c2e0e15 100644
--- 
a/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/work/NodeHeartbeatWork.java
+++ 
b/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/work/NodeHeartbeatWork.java
@@ -27,6 +27,7 @@ import org.apache.hyracks.control.cc.NodeControllerState;
 import org.apache.hyracks.control.cc.cluster.INodeManager;
 import org.apache.hyracks.control.common.heartbeat.HeartbeatData;
 import org.apache.hyracks.control.common.ipc.NodeControllerRemoteProxy;
+import org.apache.hyracks.util.NetworkUtil;
 import org.apache.logging.log4j.Level;
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
@@ -50,10 +51,11 @@ public class NodeHeartbeatWork extends 
AbstractHeartbeatWork {
             ncState.getNodeController().heartbeatAck(ccs.getCcId(), null);
         } else {
             // unregistered nc- let him know
+            InetSocketAddress refreshedNcAddress = 
NetworkUtil.refresh(ncAddress);
             LOGGER.info("received a heartbeat from unregistered node {}; 
sending negative ack to node address {}",
-                    nodeId, ncAddress);
-            NodeControllerRemoteProxy nc =
-                    new NodeControllerRemoteProxy(ccs.getCcId(), 
ccs.getClusterIPC().getReconnectingHandle(ncAddress));
+                    nodeId, refreshedNcAddress);
+            NodeControllerRemoteProxy nc = new 
NodeControllerRemoteProxy(ccs.getCcId(),
+                    
ccs.getClusterIPC().getReconnectingHandle(refreshedNcAddress));
             nc.heartbeatAck(ccs.getCcId(), 
HyracksDataException.create(ErrorCode.NO_SUCH_NODE, nodeId));
         }
     }

Reply via email to