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 2013/10/02 21:08:06 UTC
svn commit: r1528594 - in
/uima/sandbox/uima-ducc/trunk/uima-ducc-rm/src/main/java/org/apache/uima/ducc/rm/scheduler:
NodepoolScheduler.java Scheduler.java
Author: challngr
Date: Wed Oct 2 19:08:05 2013
New Revision: 1528594
URL: http://svn.apache.org/r1528594
Log:
UIMA-3215 Clarify refusal for silly amounts of memory. And don't defrag a refused job!
Modified:
uima/sandbox/uima-ducc/trunk/uima-ducc-rm/src/main/java/org/apache/uima/ducc/rm/scheduler/NodepoolScheduler.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/uima-ducc-rm/src/main/java/org/apache/uima/ducc/rm/scheduler/NodepoolScheduler.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-rm/src/main/java/org/apache/uima/ducc/rm/scheduler/NodepoolScheduler.java?rev=1528594&r1=1528593&r2=1528594&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-rm/src/main/java/org/apache/uima/ducc/rm/scheduler/NodepoolScheduler.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-rm/src/main/java/org/apache/uima/ducc/rm/scheduler/NodepoolScheduler.java Wed Oct 2 19:08:05 2013
@@ -1917,6 +1917,10 @@ public class NodepoolScheduler
logger.info(methodName, null, String.format(headerfmt, "Nodepool", "User", "PureFS", "NSh", "Counted", "Needed", "O"), "Class:", rc.getName());
for ( IRmJob j : allJobs.values() ) {
+ if ( j.isRefused() ) {
+ continue;
+ }
+
int counted = 0;
switch ( rc.getPolicy() ) {
case FAIR_SHARE:
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=1528594&r1=1528593&r2=1528594&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 Oct 2 19:08:05 2013
@@ -59,6 +59,7 @@ public class Scheduler
// Integer epoch = 5; // scheduling epoch, seconds
NodePool[] nodepools;
+ int max_order = 0;
//
// Fair-share and fixed-share use shares only, not machines
@@ -892,6 +893,11 @@ public class Scheduler
continue;
}
+ if ( share_order > max_order ) {
+ upd.refuse(j, "Memory requested " + j.getMemory() + "GB exceeds the capacity of any machine in the cluster.");
+ continue;
+ }
+
/**
* We want to allow this - a normal job, submitted to a reservation class.
if ( (prclass.getPolicy() == Policy.RESERVE ) && ( ! j.isReservation() ) ) {
@@ -991,6 +997,7 @@ public class Scheduler
share_order = m.getShareOrder();
}
+ max_order = Math.max(share_order, max_order);
m = np.nodeArrives(node, share_order); // announce to the nodepools
}
}