You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by de...@apache.org on 2016/06/01 21:43:16 UTC

svn commit: r1746502 - in /uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws: ./ server/ server/nodeviz/

Author: degenaro
Date: Wed Jun  1 21:43:16 2016
New Revision: 1746502

URL: http://svn.apache.org/viewvc?rev=1746502&view=rev
Log:
UIMA-4923 DUCC Web Server (WS) should not display nodes that have been removed from service on Machines page

- Daemons and Viz pages have missing nodes and/or incorrect status
- Machines page memory sizes are not quantum multiples

Modified:
    uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/DuccMachinesData.java
    uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/MachineInfo.java
    uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandler.java
    uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandlerClassic.java
    uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandlerJsonFormat.java
    uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/nodeviz/NodeViz.java

Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/DuccMachinesData.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/DuccMachinesData.java?rev=1746502&r1=1746501&r2=1746502&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/DuccMachinesData.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/DuccMachinesData.java Wed Jun  1 21:43:16 2016
@@ -89,8 +89,8 @@ public class DuccMachinesData {
 		return isSwapping.containsKey(ip);
 	}
 	
-	public ConcurrentSkipListMap<NodeId,MachineInfo> getMachines() {
-		return unsortedMachines;
+	public ConcurrentSkipListMap<MachineInfo,NodeId> getMachines() {
+		return getSortedMachines();
 	}
 	
 	public ConcurrentSkipListMap<MachineInfo,NodeId> getSortedMachines() {
@@ -643,7 +643,13 @@ public class DuccMachinesData {
 			String name = entry.getKey();
 			NodeId nodeId = new NodeId(name);
 			MachineInfo mi = unsortedMachines.get(nodeId);
+			IDbMachine dbMachine = entry.getValue();
 			if(mi != null) {
+				int quantum = dbMachine.getQuantum();
+				int total = quantum*dbMachine.getShareOrder();
+				int free = quantum*dbMachine.getSharesLeft();
+				mi.setMemTotal(""+total);
+				mi.setMemFree(""+free);
 				dbSortedMachines.put(mi, nodeId);
 				String shortName = nodeId.getShortName();
 				knownShortNames.add(shortName);

Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/MachineInfo.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/MachineInfo.java?rev=1746502&r1=1746501&r2=1746502&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/MachineInfo.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/MachineInfo.java Wed Jun  1 21:43:16 2016
@@ -26,6 +26,7 @@ import org.apache.uima.ducc.common.utils
 import org.apache.uima.ducc.common.utils.DuccLoggerComponents;
 import org.apache.uima.ducc.common.utils.id.DuccId;
 import org.apache.uima.ducc.transport.event.ProcessInfo;
+import org.apache.uima.ducc.ws.types.NodeId;
 
 
 public class MachineInfo implements Comparable<MachineInfo> {
@@ -67,6 +68,8 @@ public class MachineInfo implements Comp
 	
 	private Integer quantum = null;
 	
+	private NodeId nodeid;
+	
 	public MachineInfo(String fileDef, String ip, String name, String memTotal, String memFree, String swapInuse, String swapFree, double cpu, boolean cGroups, List<ProcessInfo> alienPids, long heartbeat, long pubSize) {
 		init(MachineStatus.Defined, fileDef, ip, name, memTotal, memFree, swapInuse, swapFree, cpu, cGroups, alienPids, heartbeat, pubSize);
 	}
@@ -96,6 +99,8 @@ public class MachineInfo implements Comp
 		this.heartbeatMaxTOD = 0;
 		this.pubSize = pubSize;
 		this.pubSizeMax = 0;
+		
+		this.nodeid = new NodeId(name);
 	}
 	
 	/*
@@ -260,10 +265,18 @@ public class MachineInfo implements Comp
 		return this.name;
 	}
 	
+	public void setMemTotal(String value) {
+		this.memTotal = value;
+	}
+	
 	public String getMemTotal() {
 		return this.memTotal;
 	}
 	
+	public void setMemFree(String value) {
+		this.memFree = value;
+	}
+	
 	public String getMemFree() {
 		return this.memFree;
 	}
@@ -605,5 +618,27 @@ public class MachineInfo implements Comp
 	private int compareName(MachineInfo m1, MachineInfo m2) {
 		return m1.name.compareTo(m2.name);
 	}
+	
+	// @return true if the long names match
+	
+	@Override
+	public boolean equals(Object object) {
+		boolean retVal = false;
+		if(object != null) {
+			if(object instanceof NodeId) {
+				MachineInfo that = (MachineInfo) object;
+				return (this.compareTo(that) == 0);
+			}
+		}
+		return retVal;
+	}
+		
+	// @return use long name as hashCode
+	
+	@Override
+	public int hashCode()
+	{
+		return this.nodeid.hashCode();
+	}
 
 }

Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandler.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandler.java?rev=1746502&r1=1746501&r2=1746502&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandler.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandler.java Wed Jun  1 21:43:16 2016
@@ -3509,11 +3509,10 @@ public class DuccHandler extends DuccAbs
 		String cookie = DuccCookies.getCookie(request,DuccCookies.cookieAgents);
 		if(cookie.equals(DuccCookies.valueAgentsShow)) {
 			duccLogger.trace(methodName, jobid, "== show: "+cookie);
-			ConcurrentSkipListMap<NodeId,MachineInfo> machines = DuccMachinesData.getInstance().getMachines();
-			Iterator<NodeId> iterator = machines.keySet().iterator();
+			ConcurrentSkipListMap<MachineInfo,NodeId> machines = DuccMachinesData.getInstance().getMachines();
+			Iterator<MachineInfo> iterator = machines.keySet().iterator();
 			while(iterator.hasNext()) {
-				NodeId key = iterator.next();
-				MachineInfo machineInfo = machines.get(key);
+				MachineInfo machineInfo = iterator.next();
 				Properties properties = DuccDaemonRuntimeProperties.getInstance().getAgent(machineInfo.getName());
 				if(first) {
 					first = false;

Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandlerClassic.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandlerClassic.java?rev=1746502&r1=1746501&r2=1746502&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandlerClassic.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandlerClassic.java Wed Jun  1 21:43:16 2016
@@ -1299,6 +1299,8 @@ public class DuccHandlerClassic extends
 		String wsHostName = getWebServerHostName();
 		
 		DuccDaemonsData duccDaemonsData = DuccDaemonsData.getInstance();
+		DuccMachinesData duccMachinesData = DuccMachinesData.getInstance();
+		
 		int counter = 0;
 		daemons:
 		for(DaemonName daemonName : DuccDaemonRuntimeProperties.daemonNames) {
@@ -1485,11 +1487,10 @@ public class DuccHandlerClassic extends
 		if(cookie.equals(DuccCookies.valueAgentsShow)) {
 			duccLogger.trace(methodName, jobid, "== show: "+cookie);
 			
-			ConcurrentSkipListMap<NodeId,MachineInfo> machines = DuccMachinesData.getInstance().getMachines();
-			Iterator<NodeId> iterator = machines.keySet().iterator();
+			ConcurrentSkipListMap<MachineInfo,NodeId> machines = duccMachinesData.getMachines();
+			Iterator<MachineInfo> iterator = machines.keySet().iterator();
 			while(iterator.hasNext()) {
-				NodeId key = iterator.next();
-				MachineInfo machineInfo = machines.get(key);
+				MachineInfo machineInfo = iterator.next();
 				DuccDaemonRuntimeProperties drp = DuccDaemonRuntimeProperties.getInstance();
 				String machineName = machineInfo.getName();
 				if(machineName.startsWith("=")) {

Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandlerJsonFormat.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandlerJsonFormat.java?rev=1746502&r1=1746501&r2=1746502&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandlerJsonFormat.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandlerJsonFormat.java Wed Jun  1 21:43:16 2016
@@ -1843,6 +1843,7 @@ public class DuccHandlerJsonFormat exten
 		JsonArray row;
 		
 		DuccDaemonsData duccDaemonsData = DuccDaemonsData.getInstance();
+		DuccMachinesData duccMachinesData = DuccMachinesData.getInstance();
 		
 		String wsHostIP = getWebServerHostIP();
 		String wsHostName = getWebServerHostName();
@@ -2017,12 +2018,11 @@ public class DuccHandlerJsonFormat exten
 		}
 
 		if(showAgents) {
-			ConcurrentSkipListMap<NodeId,MachineInfo> machines = DuccMachinesData.getInstance().getMachines();
-			Iterator<NodeId> iterator = machines.keySet().iterator();
+			ConcurrentSkipListMap<MachineInfo,NodeId> machines = duccMachinesData.getMachines();
+			Iterator<MachineInfo> iterator = machines.keySet().iterator();
 			while(iterator.hasNext()) {
 				row = new JsonArray();
-				NodeId key = iterator.next();
-				MachineInfo machineInfo = machines.get(key);
+				MachineInfo machineInfo = iterator.next();
 				DuccDaemonRuntimeProperties drp = DuccDaemonRuntimeProperties.getInstance();
 				String machineName = machineInfo.getName();
 				if(machineName.startsWith("=")) {

Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/nodeviz/NodeViz.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/nodeviz/NodeViz.java?rev=1746502&r1=1746501&r2=1746502&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/nodeviz/NodeViz.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/nodeviz/NodeViz.java Wed Jun  1 21:43:16 2016
@@ -273,13 +273,13 @@ public class NodeViz
         }
 
         logger.debug(methodName, null, "Generateing visualizaiton");
-        ConcurrentSkipListMap<NodeId,MachineInfo> m = machineData.getMachines();
+        ConcurrentSkipListMap<MachineInfo,NodeId> m = machineData.getMachines();
 
-        for (Entry<NodeId, MachineInfo> entry : m.entrySet()) {
+        for (Entry<MachineInfo, NodeId> entry : m.entrySet()) {
         	// 
             // This is for hosts that have no work on them so they didn't come in the work map
             //
-        	MachineInfo mi = entry.getValue();
+        	MachineInfo mi = entry.getKey();
             // NOTE: the map changes all the time so the value may be gone.  This situation
             //       will be fixed one day but for now just forget the node, it will show up 
             //       next time we get here.