You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by ch...@apache.org on 2015/02/11 20:24:43 UTC
svn commit: r1659047 - in /uima/sandbox/uima-ducc/trunk: src/main/resources/
uima-ducc-common/src/main/java/org/apache/uima/ducc/common/admin/event/
uima-ducc-rm/src/main/java/org/apache/uima/ducc/rm/scheduler/
Author: challngr
Date: Wed Feb 11 19:24:43 2015
New Revision: 1659047
URL: http://svn.apache.org/r1659047
Log:
UIAM-4234 Return offline and unresponsive status in query.
Modified:
uima/sandbox/uima-ducc/trunk/src/main/resources/ducc.administrators
uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/admin/event/RmQueriedMachine.java
uima/sandbox/uima-ducc/trunk/uima-ducc-rm/src/main/java/org/apache/uima/ducc/rm/scheduler/Machine.java
uima/sandbox/uima-ducc/trunk/uima-ducc-rm/src/main/java/org/apache/uima/ducc/rm/scheduler/NodePool.java
uima/sandbox/uima-ducc/trunk/uima-ducc-rm/src/main/java/org/apache/uima/ducc/rm/scheduler/Scheduler.java
Modified: uima/sandbox/uima-ducc/trunk/src/main/resources/ducc.administrators
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/src/main/resources/ducc.administrators?rev=1659047&r1=1659046&r2=1659047&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/src/main/resources/ducc.administrators (original)
+++ uima/sandbox/uima-ducc/trunk/src/main/resources/ducc.administrators Wed Feb 11 19:24:43 2015
@@ -17,6 +17,5 @@
# under the License.
# -----------------------------------------------------------------------
-bobtheadmin
-joehelper
-billywho
+ducc
+
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/admin/event/RmQueriedMachine.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/admin/event/RmQueriedMachine.java?rev=1659047&r1=1659046&r2=1659047&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/admin/event/RmQueriedMachine.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/admin/event/RmQueriedMachine.java Wed Feb 11 19:24:43 2015
@@ -31,7 +31,10 @@ public class RmQueriedMachine
String nodepoolId;
long memory;
int order;
- boolean blacklisted;
+ boolean blacklisted; // UIMA-4142
+ boolean online; // UIMA-4234
+ boolean responsive; // UIMA-4234
+
List<RmQueriedShare> shares = null;
// UIMA-4142, account for blacklist
@@ -42,30 +45,37 @@ public class RmQueriedMachine
this.memory = memory;
this.order = order;
this.blacklisted = blacklisted;
+ this.online = true;
+ this.responsive = true;
}
+ public void setOffline() { this.online = false; } // UIMA-4234
+ public void setUnresponsive() { this.responsive = false; } // UIMA-4234
+
public void addShare(RmQueriedShare rqs)
{
if ( shares == null ) shares = new ArrayList<RmQueriedShare>();
shares.add(rqs);
}
- public String getId() { return name; }
- public long getMemory() { return memory; }
- public int getShareOrder() { return order; }
- public boolean isBlacklisted() { return blacklisted; } // UIMA-4142
+ public String getId() { return name; }
+ public long getMemory() { return memory; }
+ public int getShareOrder() { return order; }
+ public boolean isBlacklisted() { return blacklisted; } // UIMA-4142
+ public boolean isOnline() { return online; } // UIMA-4142
+ public boolean isResponsive() { return responsive; } // UIMA-4142
- static String fmt_s = "%20s %11s %15s %10s %5s %4s %s";
- String fmt_d = "%20s %11s %15s %10d %5d %4d" ;
+ static String fmt_s = "%20s %11s %6s %6s %15s %10s %5s %4s %s";
+ String fmt_d = "%20s %11s %6s %6s %15s %10d %5d %4d" ;
public static String header()
{
- return String.format(fmt_s, "Node", "Blacklisted", "Nodepool", "Memory", "Order", "Free", "Shares");
+ return String.format(fmt_s, "Node", "Blacklisted", "Online", "Status", "Nodepool", "Memory", "Order", "Free", "Shares");
}
public static String separator()
{
- return String.format(fmt_s, "--------------------", "-----------", "---------------", "----------", "-----", "----", "----------");
+ return String.format(fmt_s, "--------------------", "-----------", "------", "------", "---------------", "----------", "-----", "----", "----------");
}
public String toConsole()
@@ -73,17 +83,17 @@ public class RmQueriedMachine
StringBuffer sb = new StringBuffer();
if ( shares == null ) {
- sb.append(String.format(fmt_d, name, blacklisted, nodepoolId, memory, order, 0));
+ sb.append(String.format(fmt_d, name, blacklisted, online, (responsive ? "up" : "down"), nodepoolId, memory, order, 0));
sb.append(" [none]");
} else {
int used = 0;
for ( RmQueriedShare s : shares ) {
used += s.getShareOrder();
}
- sb.append(String.format(fmt_d, name, blacklisted, nodepoolId, memory, order, order - used));
+ sb.append(String.format(fmt_d, name, blacklisted, online, (responsive ? "up" : "down"), nodepoolId, memory, order, order - used));
String spacer = " ";
- String altSpacer = "\n" + String.format(fmt_s, "", "", "", "", "", "", ""); // yes, blank, of exactly the right size
+ String altSpacer = "\n" + String.format(fmt_s, "", "", "", "", "", "", "", "", ""); // yes, blank, of exactly the right size
for ( RmQueriedShare s : shares ) {
sb.append(spacer);
sb.append(s.toConsole());
@@ -104,6 +114,10 @@ public class RmQueriedMachine
sb.append(" ");
sb.append(Boolean.toString(blacklisted));
sb.append(" ");
+ sb.append(Boolean.toString(online));
+ sb.append(" ");
+ sb.append(responsive ? "up" : "down");
+ sb.append(" ");
sb.append(Long.toString(memory));
sb.append(" ");
sb.append(Integer.toString(order));
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-rm/src/main/java/org/apache/uima/ducc/rm/scheduler/Machine.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-rm/src/main/java/org/apache/uima/ducc/rm/scheduler/Machine.java?rev=1659047&r1=1659046&r2=1659047&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-rm/src/main/java/org/apache/uima/ducc/rm/scheduler/Machine.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-rm/src/main/java/org/apache/uima/ducc/rm/scheduler/Machine.java Wed Feb 11 19:24:43 2015
@@ -347,6 +347,20 @@ public class Machine
return ret;
}
+ RmQueriedMachine queryOfflineMachine() // UIMA-4234
+ {
+ RmQueriedMachine ret = queryMachine();
+ ret.setOffline();
+ return ret;
+ }
+
+ RmQueriedMachine queryUnresponsiveMachine() // UIMA-4234
+ {
+ RmQueriedMachine ret = queryMachine();
+ ret.setUnresponsive();
+ return ret;
+ }
+
/**
* A machine's investment is the sum of it's share's investments.
*/
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-rm/src/main/java/org/apache/uima/ducc/rm/scheduler/NodePool.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-rm/src/main/java/org/apache/uima/ducc/rm/scheduler/NodePool.java?rev=1659047&r1=1659046&r2=1659047&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-rm/src/main/java/org/apache/uima/ducc/rm/scheduler/NodePool.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-rm/src/main/java/org/apache/uima/ducc/rm/scheduler/NodePool.java Wed Feb 11 19:24:43 2015
@@ -239,6 +239,20 @@ class NodePool
}
/**
+ * Return nodes varied off for me and my kids.
+ * UIMA-4234, More info in query occupancy
+ */
+ Map<Node, Machine> getUnresponsiveMachines()
+ {
+ @SuppressWarnings("unchecked")
+ Map<Node, Machine> ret = (Map<Node, Machine>) unresponsiveMachines.clone();
+ for (NodePool np : children.values()) {
+ ret.putAll(np.unresponsiveMachines);
+ }
+ return ret;
+ }
+
+ /**
* Non-recursive machine count.
*/
int countLocalMachines()
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-rm/src/main/java/org/apache/uima/ducc/rm/scheduler/Scheduler.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-rm/src/main/java/org/apache/uima/ducc/rm/scheduler/Scheduler.java?rev=1659047&r1=1659046&r2=1659047&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-rm/src/main/java/org/apache/uima/ducc/rm/scheduler/Scheduler.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-rm/src/main/java/org/apache/uima/ducc/rm/scheduler/Scheduler.java Wed Feb 11 19:24:43 2015
@@ -32,6 +32,7 @@ import org.apache.uima.ducc.common.NodeI
import org.apache.uima.ducc.common.Pair;
import org.apache.uima.ducc.common.admin.event.RmAdminQLoadReply;
import org.apache.uima.ducc.common.admin.event.RmAdminQOccupancyReply;
+import org.apache.uima.ducc.common.admin.event.RmQueriedMachine;
import org.apache.uima.ducc.common.component.AbstractDuccComponent;
import org.apache.uima.ducc.common.utils.DuccLogger;
import org.apache.uima.ducc.common.utils.DuccProperties;
@@ -1233,10 +1234,32 @@ public class Scheduler
// Not a cheap query, by the way.
//
for ( NodePool np : nodepools ) {
+
Collection<Machine> machs = np.getAllMachines().values();
for ( Machine m : machs ) {
ret.addMachine(m.queryMachine());
}
+
+ Map<Node, Machine> offline = np.getOfflineMachines(); // UIMA-4234
+ Map<Node, Machine> unresponsive = np.getUnresponsiveMachines(); // UIMA-4234
+
+ for ( Node n : offline.keySet() ) {
+ Machine m = offline.get(n);
+ RmQueriedMachine qm = m.queryMachine();
+ qm.setOffline();
+ if ( unresponsive.containsKey(n) ) {
+ unresponsive.remove(n);
+ qm.setUnresponsive();
+ }
+ ret.addMachine(qm);
+ }
+
+ for ( Node n : unresponsive.keySet() ) {
+ Machine m = unresponsive.get(n);
+ RmQueriedMachine qm = m.queryMachine();
+ qm.setUnresponsive();
+ ret.addMachine(qm);
+ }
}
return ret;