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