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