Repository: asterixdb Updated Branches: refs/heads/master ab9097695 -> 62ee018ef
[NO ISSUE][HYR] Avoid redundant touch of heartbeat time Change-Id: I88bc16c354cc0de59fa33d47705e9a4ddd617569 Reviewed-on: https://asterix-gerrit.ics.uci.edu/2100 Reviewed-by: Murtadha Hubail <[email protected]> Integration-Tests: Murtadha Hubail <[email protected]> Tested-by: Murtadha Hubail <[email protected]> Project: http://git-wip-us.apache.org/repos/asf/asterixdb/repo Commit: http://git-wip-us.apache.org/repos/asf/asterixdb/commit/62ee018e Tree: http://git-wip-us.apache.org/repos/asf/asterixdb/tree/62ee018e Diff: http://git-wip-us.apache.org/repos/asf/asterixdb/diff/62ee018e Branch: refs/heads/master Commit: 62ee018ef9a14342ff8336f0e0fa12091473bdb7 Parents: ab90976 Author: Michael Blow <[email protected]> Authored: Tue Oct 24 18:16:11 2017 -0400 Committer: Michael Blow <[email protected]> Committed: Tue Oct 24 19:56:27 2017 -0700 ---------------------------------------------------------------------- .../hyracks/control/cc/NodeControllerState.java | 62 ++++++++++---------- .../control/cc/work/AbstractHeartbeatWork.java | 6 +- .../cc/work/AbstractTaskLifecycleWork.java | 5 -- 3 files changed, 35 insertions(+), 38 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/asterixdb/blob/62ee018e/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/NodeControllerState.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/NodeControllerState.java b/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/NodeControllerState.java index fe4ce89..06af01f 100644 --- a/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/NodeControllerState.java +++ b/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/NodeControllerState.java @@ -213,39 +213,37 @@ public class NodeControllerState { public synchronized void notifyHeartbeat(HeartbeatData hbData) { touchHeartbeat(); hbTime[rrdPtr] = System.currentTimeMillis(); - if (hbData != null) { - heapInitSize[rrdPtr] = hbData.heapInitSize; - heapUsedSize[rrdPtr] = hbData.heapUsedSize; - heapCommittedSize[rrdPtr] = hbData.heapCommittedSize; - heapMaxSize[rrdPtr] = hbData.heapMaxSize; - nonheapInitSize[rrdPtr] = hbData.nonheapInitSize; - nonheapUsedSize[rrdPtr] = hbData.nonheapUsedSize; - nonheapCommittedSize[rrdPtr] = hbData.nonheapCommittedSize; - nonheapMaxSize[rrdPtr] = hbData.nonheapMaxSize; - threadCount[rrdPtr] = hbData.threadCount; - peakThreadCount[rrdPtr] = hbData.peakThreadCount; - systemLoadAverage[rrdPtr] = hbData.systemLoadAverage; - int gcN = hbSchema.getGarbageCollectorInfos().length; - for (int i = 0; i < gcN; ++i) { - gcCollectionCounts[i][rrdPtr] = hbData.gcCollectionCounts[i]; - gcCollectionTimes[i][rrdPtr] = hbData.gcCollectionTimes[i]; - } - netPayloadBytesRead[rrdPtr] = hbData.netPayloadBytesRead; - netPayloadBytesWritten[rrdPtr] = hbData.netPayloadBytesWritten; - netSignalingBytesRead[rrdPtr] = hbData.netSignalingBytesRead; - netSignalingBytesWritten[rrdPtr] = hbData.netSignalingBytesWritten; - datasetNetPayloadBytesRead[rrdPtr] = hbData.datasetNetPayloadBytesRead; - datasetNetPayloadBytesWritten[rrdPtr] = hbData.datasetNetPayloadBytesWritten; - datasetNetSignalingBytesRead[rrdPtr] = hbData.datasetNetSignalingBytesRead; - datasetNetSignalingBytesWritten[rrdPtr] = hbData.datasetNetSignalingBytesWritten; - ipcMessagesSent[rrdPtr] = hbData.ipcMessagesSent; - ipcMessageBytesSent[rrdPtr] = hbData.ipcMessageBytesSent; - ipcMessagesReceived[rrdPtr] = hbData.ipcMessagesReceived; - ipcMessageBytesReceived[rrdPtr] = hbData.ipcMessageBytesReceived; - diskReads[rrdPtr] = hbData.diskReads; - diskWrites[rrdPtr] = hbData.diskWrites; - rrdPtr = (rrdPtr + 1) % RRD_SIZE; + heapInitSize[rrdPtr] = hbData.heapInitSize; + heapUsedSize[rrdPtr] = hbData.heapUsedSize; + heapCommittedSize[rrdPtr] = hbData.heapCommittedSize; + heapMaxSize[rrdPtr] = hbData.heapMaxSize; + nonheapInitSize[rrdPtr] = hbData.nonheapInitSize; + nonheapUsedSize[rrdPtr] = hbData.nonheapUsedSize; + nonheapCommittedSize[rrdPtr] = hbData.nonheapCommittedSize; + nonheapMaxSize[rrdPtr] = hbData.nonheapMaxSize; + threadCount[rrdPtr] = hbData.threadCount; + peakThreadCount[rrdPtr] = hbData.peakThreadCount; + systemLoadAverage[rrdPtr] = hbData.systemLoadAverage; + int gcN = hbSchema.getGarbageCollectorInfos().length; + for (int i = 0; i < gcN; ++i) { + gcCollectionCounts[i][rrdPtr] = hbData.gcCollectionCounts[i]; + gcCollectionTimes[i][rrdPtr] = hbData.gcCollectionTimes[i]; } + netPayloadBytesRead[rrdPtr] = hbData.netPayloadBytesRead; + netPayloadBytesWritten[rrdPtr] = hbData.netPayloadBytesWritten; + netSignalingBytesRead[rrdPtr] = hbData.netSignalingBytesRead; + netSignalingBytesWritten[rrdPtr] = hbData.netSignalingBytesWritten; + datasetNetPayloadBytesRead[rrdPtr] = hbData.datasetNetPayloadBytesRead; + datasetNetPayloadBytesWritten[rrdPtr] = hbData.datasetNetPayloadBytesWritten; + datasetNetSignalingBytesRead[rrdPtr] = hbData.datasetNetSignalingBytesRead; + datasetNetSignalingBytesWritten[rrdPtr] = hbData.datasetNetSignalingBytesWritten; + ipcMessagesSent[rrdPtr] = hbData.ipcMessagesSent; + ipcMessageBytesSent[rrdPtr] = hbData.ipcMessageBytesSent; + ipcMessagesReceived[rrdPtr] = hbData.ipcMessagesReceived; + ipcMessageBytesReceived[rrdPtr] = hbData.ipcMessageBytesReceived; + diskReads[rrdPtr] = hbData.diskReads; + diskWrites[rrdPtr] = hbData.diskWrites; + rrdPtr = (rrdPtr + 1) % RRD_SIZE; } public void touchHeartbeat() { http://git-wip-us.apache.org/repos/asf/asterixdb/blob/62ee018e/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/work/AbstractHeartbeatWork.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/work/AbstractHeartbeatWork.java b/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/work/AbstractHeartbeatWork.java index fa5dcd0..8e7faff 100644 --- a/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/work/AbstractHeartbeatWork.java +++ b/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/work/AbstractHeartbeatWork.java @@ -42,7 +42,11 @@ public abstract class AbstractHeartbeatWork extends SynchronizableWork { INodeManager nodeManager = ccs.getNodeManager(); NodeControllerState state = nodeManager.getNodeControllerState(nodeId); if (state != null) { - state.notifyHeartbeat(hbData); + if (hbData != null) { + state.notifyHeartbeat(hbData); + } else { + state.touchHeartbeat(); + } } runWork(); } http://git-wip-us.apache.org/repos/asf/asterixdb/blob/62ee018e/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/work/AbstractTaskLifecycleWork.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/work/AbstractTaskLifecycleWork.java b/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/work/AbstractTaskLifecycleWork.java index 446bfd1..3babf00 100644 --- a/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/work/AbstractTaskLifecycleWork.java +++ b/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/work/AbstractTaskLifecycleWork.java @@ -27,7 +27,6 @@ import org.apache.hyracks.api.dataflow.TaskId; import org.apache.hyracks.api.job.ActivityCluster; import org.apache.hyracks.api.job.JobId; import org.apache.hyracks.control.cc.ClusterControllerService; -import org.apache.hyracks.control.cc.NodeControllerState; import org.apache.hyracks.control.cc.job.ActivityPlan; import org.apache.hyracks.control.cc.job.IJobManager; import org.apache.hyracks.control.cc.job.JobRun; @@ -76,10 +75,6 @@ public abstract class AbstractTaskLifecycleWork extends AbstractHeartbeatWork { } } } - final NodeControllerState ncState = ccs.getNodeManager().getNodeControllerState(nodeId); - if (ncState != null) { - ncState.touchHeartbeat(); - } } protected abstract void performEvent(TaskAttempt ta);
