Author: degenaro
Date: Thu Jun 9 14:09:29 2016
New Revision: 1747553
URL: http://svn.apache.org/viewvc?rev=1747553&view=rev
Log:
UIMA-3361 DUCC Web Server (WS) Machines page improvements
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/WebServerComponent.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=1747553&r1=1747552&r2=1747553&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
Thu Jun 9 14:09:29 2016
@@ -19,6 +19,7 @@
package org.apache.uima.ducc.ws;
import java.util.ArrayList;
+import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
@@ -89,17 +90,18 @@ public class DuccMachinesData {
return isSwapping.containsKey(ip);
}
- public ConcurrentSkipListMap<MachineInfo,NodeId> getMachines() {
+ public Map<MachineInfo,NodeId> getMachines() {
return getSortedMachines();
}
- public ConcurrentSkipListMap<MachineInfo,NodeId> getSortedMachines() {
- ConcurrentSkipListMap<MachineInfo,NodeId> retVal =
sortedMachines;
+ public Map<MachineInfo,NodeId> getSortedMachines() {
+ Map<MachineInfo,NodeId> retVal = new
TreeMap<MachineInfo,NodeId>();
+ retVal.putAll(sortedMachines);
return retVal;
}
private long down_fudge = 10;
- private long DOWN_AFTER_SECONDS =
WebServerComponent.updateIntervalSeconds + down_fudge;
+ private long DOWN_AFTER_SECONDS =
WebServerComponent.updateIntervalSecondsNormal + down_fudge;
private long SECONDS_PER_MILLI = 1000;
private long getAgentMillisMIA() {
@@ -339,8 +341,7 @@ public class DuccMachinesData {
*
* Put new or updated node metrics into map of Agent node metric reports
*/
- public boolean put(DatedNodeMetricsUpdateDuccEvent duccEvent) {
- boolean retVal = true;
+ public void put(DatedNodeMetricsUpdateDuccEvent duccEvent) {
String location = "put";
MachineSummaryInfo msi = new MachineSummaryInfo();
NodeMetricsUpdateDuccEvent nodeMetrics =
duccEvent.getNodeMetricsUpdateDuccEvent();
@@ -352,10 +353,6 @@ public class DuccMachinesData {
}
String machineName =
nodeMetrics.getNodeIdentity().getName().trim();
NodeId nodeId = new NodeId(machineName);
- // determine if this is new machine (true) or already known
machine (false)
- if(ipToNameMap.containsKey(ip)) {
- retVal = false;
- }
ipToNameMap.put(ip,nodeId);
nameToIpMap.put(nodeId,ip);
// mem: total
@@ -370,7 +367,7 @@ public class DuccMachinesData {
long lvalMemFree = (long) ((1.0*nodeMemFree)/(1024*1024)+0.0);
// do NOT round up!
msi.memFree = lvalMemFree;
String memFree = ""+lvalMemFree/*+memUnits*/;
- // swap: in-usewell
+ // swap: in-use
double dvalSwapTotal =
nodeMetrics.getNodeMemory().getSwapTotal();
long lvalSwapTotal = (long) (dvalSwapTotal/(1024*1024)+0.5);
double dvalSwapFree = nodeMetrics.getNodeMemory().getSwapFree();
@@ -425,7 +422,6 @@ public class DuccMachinesData {
putMachine(current);
updateTotals(nodeId,msi);
setPublished();
- return retVal;
}
public List<String> getPids(Ip ip, UserId user) {
@@ -594,7 +590,7 @@ public class DuccMachinesData {
private void updateMachineFactsListAgent() {
MachineFactsList factsList = new MachineFactsList();
long quantum = getQuantum();
- ConcurrentSkipListMap<MachineInfo,NodeId> sortedMachines =
getSortedMachines();
+ Map<MachineInfo,NodeId> sortedMachines = getSortedMachines();
Iterator<MachineInfo> iterator;
iterator = sortedMachines.keySet().iterator();
while(iterator.hasNext()) {
@@ -632,16 +628,18 @@ public class DuccMachinesData {
// The returnable
MachineFactsList mfl = new MachineFactsList();
// Working map used to generate the returnable
- ConcurrentSkipListMap<MachineInfo,NodeId> dbSortedMachines =
new ConcurrentSkipListMap<MachineInfo,NodeId>();
+ Map<MachineInfo,NodeId> dbSortedMachines = new
TreeMap<MachineInfo,NodeId>();
// Get map from DB courtesy of RM
DbQuery dbQuery = DbQuery.getInstance();
- Map<String, IDbMachine> dbMapMachines =
dbQuery.getMapMachines();
+ // Working list of known machines, by long name
+ Map<String, IDbMachine> dbMapMachinesLong =
dbQuery.getMapMachines();
// Working list of known machines, by short name
- List<String> knownShortNames = new ArrayList<String>();
- // Update working map and list of short name from DB
- for(Entry<String, IDbMachine> entry : dbMapMachines.entrySet())
{
+ Map<String, IDbMachine> dbMapMachinesShort = new
HashMap<String, IDbMachine>();
+ // Update working map and map of short names
+ for(Entry<String, IDbMachine> entry :
dbMapMachinesLong.entrySet()) {
String name = entry.getKey();
NodeId nodeId = new NodeId(name);
+
dbMapMachinesShort.put(nodeId.getShortName(),entry.getValue());
MachineInfo mi = unsortedMachines.get(nodeId);
IDbMachine dbMachine = entry.getValue();
if(mi != null) {
@@ -651,19 +649,27 @@ public class DuccMachinesData {
mi.setMemTotal(""+total);
mi.setMemFree(""+free);
dbSortedMachines.put(mi, nodeId);
- String shortName = nodeId.getShortName();
- knownShortNames.add(shortName);
}
}
// Initialize returnable with "defined" machines
ArrayList<String> duccNodes = DuccNodes.getInstance().get();
+ Map<String,String> sortedDuccNodes = new
TreeMap<String,String>();
for(String name : duccNodes) {
- NodeId nodeId = new NodeId(name);;
- String shortName = nodeId.getShortName();
- // skip defined machine if it already appears in DB
- if(knownShortNames.contains(shortName)) {
+ NodeId nodeId = new NodeId(name);
+
sortedDuccNodes.put(nodeId.getShortName(),nodeId.getLongName());
+ }
+ // Process defined nodes, unless already present from DB
+ for(Entry<String, String> entry : sortedDuccNodes.entrySet()) {
+ String shortName = entry.getKey();
+ String longName = entry.getValue();
+ // Skip defined machine if it already appears in DB
+ if(dbMapMachinesShort.containsKey(shortName)) {
continue;
}
+ if(dbMapMachinesLong.containsKey(longName)) {
+ continue;
+ }
+ // Add defined machine
String status = "defined";
String statusReason = "";
String ip = "";
@@ -676,7 +682,7 @@ public class DuccMachinesData {
boolean cGroups = false;
List<String> aliens = new ArrayList<String>();
String heartbeat = "";
- MachineFacts facts = new
MachineFacts(status,statusReason,ip,name,memTotal,memFree,swapInuse,swapDelta,swapFree,cpu,cGroups,aliens,heartbeat);
+ MachineFacts facts = new
MachineFacts(status,statusReason,ip,longName,memTotal,memFree,swapInuse,swapDelta,swapFree,cpu,cGroups,aliens,heartbeat);
mfl.add(facts);
}
// Augment returnable with data from Agents & RM (from DB)
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=1747553&r1=1747552&r2=1747553&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
Thu Jun 9 14:09:29 2016
@@ -416,148 +416,106 @@ public class MachineInfo implements Comp
String retVal = getElapsed();
return retVal;
}
+
+ // @return true if the short names match
+
+ @Override
+ public boolean equals(Object object) {
+ boolean retVal = false;
+ if(object != null) {
+ if(object instanceof NodeId) {
+ MachineInfo that = (MachineInfo) object;
+ retVal = (this.hashCode() == that.hashCode());
+ }
+ }
+ return retVal;
+ }
+
+ // @return use short name as hashCode
+ @Override
+ public int hashCode()
+ {
+ return this.nodeid.getShortName().hashCode();
+ }
- public int compareTo(MachineInfo machine) {
+ private int compareString(String s1, String s2) {
int retVal = 0;
- MachineInfo m1 = this;
- MachineInfo m2 = machine;
- String s1 = m1.name;
- String s2 = m2.name;
if(s1 != null) {
if(s2 != null) {
- if(s1.trim().equals(s2.trim()))
- return retVal;
+ retVal = s1.compareTo(s2);
}
}
- retVal = compareStatus(m1, m2);
- if(retVal != 0) {
- return retVal;
- }
- retVal = compareSwapInuse(m1, m2);
- if(retVal != 0) {
- return retVal;
- }
- retVal = compareSwapDelta(m1, m2);
- if(retVal != 0) {
- return retVal;
- }
- retVal = compareAlienPids(m1, m2);
- if(retVal != 0) {
- return retVal;
- }
- /*
- retVal = compareHeartbeat(m1, m2);
- if(retVal != 0) {
- return retVal;
- }
- */
- retVal = compareIp(m1, m2);
- if(retVal != 0) {
- return retVal;
+ return retVal;
+ }
+
+ private int compareToMachineName(MachineInfo that) {
+ int retVal = 0;
+ if(this.nodeid != null) {
+ if(that.nodeid != null) {
+ retVal =
compareString(this.nodeid.getShortName(), that.nodeid.getShortName());
+ }
}
- retVal = compareName(m1, m2);
return retVal;
}
- /**
- * @param m1
- * @param m2
- * @return 0 if m1 == m2, -1 if m1 < m2, +1 if m1 > m2, where
- * Defined < Down < Up
- */
- private int compareStatus(MachineInfo m1, MachineInfo m2) {
- String location = "compareStatus";
+ private int compareToMachineStatus(MachineInfo that) {
int retVal = 0;
- try {
- MachineStatus v1 = m1.getMachineStatus();
- MachineStatus v2 = m2.getMachineStatus();
- switch(v1) {
+ MachineStatus v1 = this.getMachineStatus();
+ MachineStatus v2 = that.getMachineStatus();
+ switch(v1) {
+ default:
+ case Defined:
+ switch(v2) {
default:
case Defined:
- switch(v2) {
- default:
- case Defined:
- retVal = 0;
- break;
- case Down:
- retVal = -1;
- break;
- case Up:
- retVal = -1;
- break;
- }
+ retVal = 0;
break;
case Down:
- switch(v2) {
- default:
- case Defined:
- retVal = 1;
- break;
- case Down:
- retVal = 0;
- break;
- case Up:
- retVal = -1;
- break;
- }
+ retVal = -1;
break;
case Up:
- switch(v2) {
- default:
- retVal = 1;
- case Defined:
- break;
- case Down:
- retVal = 1;
- break;
- case Up:
- retVal = 0;
- break;
- }
- break;
- }
- StringBuffer sb = new StringBuffer();
- sb.append(m1.getName());
- sb.append(" ");
- sb.append(m1.getMachineStatus().getLowerCaseName());
- sb.append(" ");
- sb.append(m2.getName());
- sb.append(" ");
- sb.append(m2.getMachineStatus().getLowerCaseName());
- sb.append(" ");
- sb.append(" "+retVal);
- logger.trace(location, jobid, sb);
- }
-
- catch(Throwable t) {
- logger.error(location, jobid, t);
- }
- return retVal;
- }
-
- private int compareSwapInuse(MachineInfo m1, MachineInfo m2) {
- int retVal = 0;
- try {
- long v1 = Long.parseLong(m1.getSwapInuse());
- long v2 = Long.parseLong(m2.getSwapInuse());
- if(v1 > v2) {
- return -1;
+ retVal = -1;
+ break;
}
- if(v1 < v2) {
- return 1;
+ break;
+ case Down:
+ switch(v2) {
+ default:
+ case Defined:
+ retVal = 1;
+ break;
+ case Down:
+ retVal = 0;
+ break;
+ case Up:
+ retVal = -1;
+ break;
}
- }
- catch(Throwable t) {
+ break;
+ case Up:
+ switch(v2) {
+ default:
+ retVal = 1;
+ case Defined:
+ break;
+ case Down:
+ retVal = 1;
+ break;
+ case Up:
+ retVal = 0;
+ break;
+ }
+ break;
}
return retVal;
}
- private int compareSwapDelta(MachineInfo m1, MachineInfo m2) {
+ private int compareToMachineSwapInuse(MachineInfo that) {
int retVal = 0;
try {
- long v1 = m1.getSwapDelta();
- long v2 = m2.getSwapDelta();
+ long v1 = Long.parseLong(this.getSwapInuse());
+ long v2 = Long.parseLong(that.getSwapInuse());
if(v1 > v2) {
return -1;
}
@@ -570,11 +528,11 @@ public class MachineInfo implements Comp
return retVal;
}
- private int compareAlienPids(MachineInfo m1, MachineInfo m2) {
+ private int compareToMachineAlienPIDs(MachineInfo that) {
int retVal = 0;
try {
- long v1 = m1.getAlienPidsCount();
- long v2 = m2.getAlienPidsCount();
+ long v1 = this.getAlienPidsCount();
+ long v2 = that.getAlienPidsCount();
if(v1 > v2) {
return -1;
}
@@ -587,58 +545,27 @@ public class MachineInfo implements Comp
return retVal;
}
-/*
- private int compareHeartbeat(MachineInfo m1, MachineInfo m2) {
+ /**
+ * Sort order: status, swap-inuse, alien-PIDs, machine short name
+ */
+ @Override
+ public int compareTo(MachineInfo that) {
int retVal = 0;
- try {
- long v1 = m1.getHeartbeat();
- long v2 = m2.getHeartbeat();
- if(v1 > v2) {
- return 1;
+ if(that != null) {
+ if(retVal == 0) {
+ retVal = compareToMachineStatus(that);
}
- if(v1 < v2) {
- return -1;
+ if(retVal == 0) {
+ retVal = compareToMachineSwapInuse(that);
}
- }
- catch(Throwable t) {
- }
- return retVal;
- }
-*/
- private int compareIp(MachineInfo m1, MachineInfo m2) {
- int retVal = 0;
- if(m1.ip.trim().length() > 0) {
- if(m2.ip.trim().length() > 0) {
- retVal = m1.ip.compareTo(m2.ip);
+ if(retVal == 0) {
+ retVal = compareToMachineAlienPIDs(that);
}
- }
- return retVal;
- }
-
- 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);
+ if(retVal == 0) {
+ retVal = compareToMachineName(that);
}
}
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/WebServerComponent.java
URL:
http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/WebServerComponent.java?rev=1747553&r1=1747552&r2=1747553&view=diff
==============================================================================
---
uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/WebServerComponent.java
(original)
+++
uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/WebServerComponent.java
Thu Jun 9 14:09:29 2016
@@ -62,13 +62,24 @@ implements IWebServer {
private static AtomicInteger reservationCount = new AtomicInteger(0);
private static AtomicLong updateLast = new
AtomicLong(System.currentTimeMillis());
- public static long updateIntervalSeconds = 60;
- public static long updateIntervalMilliSeconds =
updateIntervalSeconds*1000;
+ public static long updateIntervalSecondsInitial = 5;
+ public static long updateIntervalSecondsNormal = 60;
+ public static AtomicLong updateIntervalCount = new AtomicLong(0);
+ public static long updateIntervalLimit = 12;
public WebServerComponent(CamelContext context, CommonConfiguration
common) {
super("WebServer",context);
String methodName = "WebServerComponent";
duccLogger.info(methodName, jobid, "##### boot #####");
+
+ String cp = System.getProperty("java.class.path");
+ String[] cpArray = cp.split(":");
+ int lc = 0;
+ for(String line : cpArray) {
+ duccLogger.trace(methodName, jobid, "cp."+lc+" "+line);
+ lc++;
+ }
+
String[] propertyNames = { "ducc.broker.url" };
for(String property : propertyNames) {
duccLogger.info(methodName, jobid,
property+"="+System.getProperty(property));
@@ -158,17 +169,34 @@ implements IWebServer {
/**
* Sort machines if interval has elapsed (60 seconds)
- * or if a new machine has been detected (force == true)
+ *
+ * Note: Use an initial short interval (e.g. every 5 seconds)
+ * when the Web Server first boots in order to populate quickly.
+ * After N (e.g. 12) quick recalculations, revert to the normal
+ * interval (e.g. every 60 seconds).
*/
- private void sortMachines(boolean force) {
+ private void sortMachines() {
+ String methodName = "sortMachines";
long last = updateLast.get();
+ long updateIntervalMilliSeconds = updateIntervalSecondsNormal *
1000;
+ if(updateIntervalCount.get() < updateIntervalLimit) {
+ updateIntervalMilliSeconds =
updateIntervalSecondsInitial * 1000;
+ }
long deadline = last + updateIntervalMilliSeconds;
long now = System.currentTimeMillis();
- if(now > deadline || force) {
+ if(now > deadline) {
boolean success = updateLast.compareAndSet(last, now);
if(success) {
DuccMachinesData.getInstance().updateSortedMachines();
+ updateIntervalCount.incrementAndGet();
+ duccLogger.trace(methodName, jobid, "count:
"+updateIntervalCount.get());
}
+ else {
+ duccLogger.trace(methodName, jobid, "missed:
"+"last="+last+" "+"now="+now);
+ }
+ }
+ else {
+ duccLogger.trace(methodName, jobid, "togo: "+(deadline
- now)/1000);
}
}
@@ -178,8 +206,8 @@ implements IWebServer {
duccLogger.trace(methodName, jobid,
duccMsg.fetchLabel("received")+"NodeMetricsUpdateDuccEvent");
DuccMachinesData dmd = DuccMachinesData.getInstance();
DatedNodeMetricsUpdateDuccEvent datedEvent = new
DatedNodeMetricsUpdateDuccEvent(duccEvent);
- boolean force = dmd.put(datedEvent);
- sortMachines(force);
+ dmd.put(datedEvent);
+ sortMachines();
duccLogger.trace(methodName, jobid, duccMsg.fetch("exit"));
}
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=1747553&r1=1747552&r2=1747553&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
Thu Jun 9 14:09:29 2016
@@ -3098,7 +3098,7 @@ public class DuccHandler extends DuccAbs
sb.append("{ ");
sb.append("\"aaData\": [ ");
DuccMachinesData instance = DuccMachinesData.getInstance();
- ConcurrentSkipListMap<MachineInfo,NodeId> sortedMachines =
instance.getSortedMachines();
+ Map<MachineInfo,NodeId> sortedMachines =
instance.getSortedMachines();
Iterator<MachineInfo> iterator;
// pass 1
iterator = sortedMachines.keySet().iterator();
@@ -3512,7 +3512,7 @@ public class DuccHandler extends DuccAbs
String cookie =
DuccCookies.getCookie(request,DuccCookies.cookieAgents);
if(cookie.equals(DuccCookies.valueAgentsShow)) {
duccLogger.trace(methodName, jobid, "== show: "+cookie);
- ConcurrentSkipListMap<MachineInfo,NodeId> machines =
DuccMachinesData.getInstance().getMachines();
+ Map<MachineInfo,NodeId> machines =
DuccMachinesData.getInstance().getMachines();
Iterator<MachineInfo> iterator =
machines.keySet().iterator();
while(iterator.hasNext()) {
MachineInfo machineInfo = iterator.next();
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=1747553&r1=1747552&r2=1747553&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
Thu Jun 9 14:09:29 2016
@@ -1487,7 +1487,7 @@ public class DuccHandlerClassic extends
if(cookie.equals(DuccCookies.valueAgentsShow)) {
duccLogger.trace(methodName, jobid, "== show: "+cookie);
- ConcurrentSkipListMap<MachineInfo,NodeId> machines =
duccMachinesData.getMachines();
+ Map<MachineInfo,NodeId> machines =
duccMachinesData.getMachines();
Iterator<MachineInfo> iterator =
machines.keySet().iterator();
while(iterator.hasNext()) {
MachineInfo machineInfo = iterator.next();
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=1747553&r1=1747552&r2=1747553&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
Thu Jun 9 14:09:29 2016
@@ -2018,7 +2018,7 @@ public class DuccHandlerJsonFormat exten
}
if(showAgents) {
- ConcurrentSkipListMap<MachineInfo,NodeId> machines =
duccMachinesData.getMachines();
+ Map<MachineInfo,NodeId> machines =
duccMachinesData.getMachines();
Iterator<MachineInfo> iterator =
machines.keySet().iterator();
while(iterator.hasNext()) {
row = new JsonArray();
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=1747553&r1=1747552&r2=1747553&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
Thu Jun 9 14:09:29 2016
@@ -24,7 +24,6 @@ import java.util.Comparator;
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
-import java.util.concurrent.ConcurrentSkipListMap;
import org.apache.uima.ducc.common.Node;
import org.apache.uima.ducc.common.NodeConfiguration;
@@ -273,7 +272,7 @@ public class NodeViz
}
logger.debug(methodName, null, "Generateing visualizaiton");
- ConcurrentSkipListMap<MachineInfo,NodeId> m =
machineData.getMachines();
+ Map<MachineInfo,NodeId> m = machineData.getMachines();
for (Entry<MachineInfo, NodeId> entry : m.entrySet()) {
//