You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by cw...@apache.org on 2018/08/27 13:41:44 UTC
svn commit: r1839326 - in /uima/uima-ducc/trunk:
uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/processors/DefaultNodeMetricsProcessor.java
uima-ducc-common/src/main/java/org/apache/uima/ducc/common/node/metrics/NodeMetrics.java
Author: cwiklik
Date: Mon Aug 27 13:41:44 2018
New Revision: 1839326
URL: http://svn.apache.org/viewvc?rev=1839326&view=rev
Log:
UIMA-5858 publish agent state in node metrics
Modified:
uima/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/processors/DefaultNodeMetricsProcessor.java
uima/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/node/metrics/NodeMetrics.java
Modified: uima/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/processors/DefaultNodeMetricsProcessor.java
URL: http://svn.apache.org/viewvc/uima/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/processors/DefaultNodeMetricsProcessor.java?rev=1839326&r1=1839325&r2=1839326&view=diff
==============================================================================
--- uima/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/processors/DefaultNodeMetricsProcessor.java (original)
+++ uima/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/processors/DefaultNodeMetricsProcessor.java Mon Aug 27 13:41:44 2018
@@ -80,7 +80,9 @@ public class DefaultNodeMetricsProcessor
NodeMetrics nodeMetrics =
new NodeMetrics(agent.getIdentity(), nmiFuture.get(), loadFuture.get(),
cpuInfo, nuiFuture.get(), cpuReportingEnabled);
-
+ if ( agent.isStopping()) {
+ nodeMetrics.disableNode(); // sends Unavailable status to clients (RM,WS)
+ }
//Node node = new DuccNode(new NodeIdentity(), nodeMetrics);
// jrc 2011-07-30 I think this needs to be agent.getIdentity(), not create a new identity.
Node node = new DuccNode(agent.getIdentity(), nodeMetrics, agent.useCgroups);
Modified: uima/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/node/metrics/NodeMetrics.java
URL: http://svn.apache.org/viewvc/uima/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/node/metrics/NodeMetrics.java?rev=1839326&r1=1839325&r2=1839326&view=diff
==============================================================================
--- uima/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/node/metrics/NodeMetrics.java (original)
+++ uima/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/node/metrics/NodeMetrics.java Mon Aug 27 13:41:44 2018
@@ -26,6 +26,8 @@ import org.apache.uima.ducc.common.agent
public class NodeMetrics implements Serializable {
+ public enum NodeStatus {Available, UnAvailable};
+
private static final long serialVersionUID = 4646364817769237774L;
private NodeLoadAverage nodeLoadAverage;
private NodeMemory nodeMemory;
@@ -33,6 +35,7 @@ public class NodeMetrics implements Seri
private NodeIdentity nodeIdentity;
TreeMap<String,NodeUsersInfo> nodeUsersMap;
private boolean cpuReportingEnabled = false;
+ private NodeStatus nodeStatus = NodeStatus.Available;
public NodeMetrics(NodeIdentity nodeIdentity, NodeMemory nodeMemory, NodeLoadAverage nodeLoadAverage , NodeCpuInfo nodeCpu, TreeMap<String,NodeUsersInfo> userProcessMap, boolean cpuReportingEnabled) {
this.nodeIdentity = nodeIdentity;
@@ -49,6 +52,12 @@ public class NodeMetrics implements Seri
public boolean isCpuReportingEnabled() {
return cpuReportingEnabled;
}
+ public NodeStatus getNodeStatus() {
+ return nodeStatus;
+ }
+ public void disableNode() {
+ nodeStatus = NodeStatus.UnAvailable;
+ }
public NodeIdentity getNodeIdentity() {
return nodeIdentity;
}