|
@@ -1201,7 +1201,14 @@ public class LeafQueue extends AbstractCSQueue {
|
|
allocation.getSchedulingMode(), null);
|
|
allocation.getSchedulingMode(), null);
|
|
|
|
|
|
// Deduct resources that we can release
|
|
// Deduct resources that we can release
|
|
- Resource usedResource = Resources.clone(getUser(username).getUsed(p));
|
|
|
|
|
|
+ User user = getUser(username);
|
|
|
|
+ if (user == null) {
|
|
|
|
+ if (LOG.isDebugEnabled()) {
|
|
|
|
+ LOG.debug("User " + username + " has been removed!");
|
|
|
|
+ }
|
|
|
|
+ return false;
|
|
|
|
+ }
|
|
|
|
+ Resource usedResource = Resources.clone(user.getUsed(p));
|
|
Resources.subtractFrom(usedResource,
|
|
Resources.subtractFrom(usedResource,
|
|
request.getTotalReleasedResource());
|
|
request.getTotalReleasedResource());
|
|
|
|
|
|
@@ -1406,6 +1413,12 @@ public class LeafQueue extends AbstractCSQueue {
|
|
SchedulingMode schedulingMode, Resource userLimit) {
|
|
SchedulingMode schedulingMode, Resource userLimit) {
|
|
String user = application.getUser();
|
|
String user = application.getUser();
|
|
User queueUser = getUser(user);
|
|
User queueUser = getUser(user);
|
|
|
|
+ if (queueUser == null) {
|
|
|
|
+ if (LOG.isDebugEnabled()) {
|
|
|
|
+ LOG.debug("User " + user + " has been removed!");
|
|
|
|
+ }
|
|
|
|
+ return Resources.none();
|
|
|
|
+ }
|
|
|
|
|
|
// Compute user limit respect requested labels,
|
|
// Compute user limit respect requested labels,
|
|
// TODO, need consider headroom respect labels also
|
|
// TODO, need consider headroom respect labels also
|
|
@@ -1500,6 +1513,12 @@ public class LeafQueue extends AbstractCSQueue {
|
|
try {
|
|
try {
|
|
readLock.lock();
|
|
readLock.lock();
|
|
User user = getUser(userName);
|
|
User user = getUser(userName);
|
|
|
|
+ if (user == null) {
|
|
|
|
+ if (LOG.isDebugEnabled()) {
|
|
|
|
+ LOG.debug("User " + userName + " has been removed!");
|
|
|
|
+ }
|
|
|
|
+ return false;
|
|
|
|
+ }
|
|
|
|
|
|
currentResourceLimits.setAmountNeededUnreserve(Resources.none());
|
|
currentResourceLimits.setAmountNeededUnreserve(Resources.none());
|
|
|
|
|