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.