Author: kasha
Date: Sat Jul 12 15:10:19 2014
New Revision: 1609942
URL: http://svn.apache.org/r1609942
Log:
YARN-2274. FairScheduler: Add debug information about cluster capacity,
availability and reservations. (kasha)
Modified:
hadoop/common/trunk/hadoop-yarn-project/CHANGES.txt
hadoop/common/trunk/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/FairScheduler.java
Modified: hadoop/common/trunk/hadoop-yarn-project/CHANGES.txt
URL:
http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-yarn-project/CHANGES.txt?rev=1609942&r1=1609941&r2=1609942&view=diff
==============================================================================
--- hadoop/common/trunk/hadoop-yarn-project/CHANGES.txt (original)
+++ hadoop/common/trunk/hadoop-yarn-project/CHANGES.txt Sat Jul 12 15:10:19 2014
@@ -40,6 +40,9 @@ Release 2.6.0 - UNRELEASED
YARN-2242. Improve exception information on AM launch crashes. (Li Lu
via junping_du)
+ YARN-2274. FairScheduler: Add debug information about cluster capacity,
+ availability and reservations. (kasha)
+
OPTIMIZATIONS
BUG FIXES
Modified:
hadoop/common/trunk/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/FairScheduler.java
URL:
http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/FairScheduler.java?rev=1609942&r1=1609941&r2=1609942&view=diff
==============================================================================
---
hadoop/common/trunk/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/FairScheduler.java
(original)
+++
hadoop/common/trunk/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/FairScheduler.java
Sat Jul 12 15:10:19 2014
@@ -136,6 +136,8 @@ public class FairScheduler extends
// How often fair shares are re-calculated (ms)
protected long UPDATE_INTERVAL = 500;
+ private final int UPDATE_DEBUG_FREQUENCY = 5;
+ private int updatesToSkipForDebug = UPDATE_DEBUG_FREQUENCY;
private Thread updateThread;
private Thread schedulingThread;
@@ -275,6 +277,18 @@ public class FairScheduler extends
// Recursively compute fair shares for all queues
// and update metrics
rootQueue.recomputeShares();
+
+ if (LOG.isDebugEnabled()) {
+ if (--updatesToSkipForDebug < 0) {
+ updatesToSkipForDebug = UPDATE_DEBUG_FREQUENCY;
+ LOG.debug("Cluster Capacity: " + clusterResource +
+ " Allocations: " + rootMetrics.getAllocatedResources() +
+ " Availability: " + Resource.newInstance(
+ rootMetrics.getAvailableMB(),
+ rootMetrics.getAvailableVirtualCores()) +
+ " Demand: " + rootQueue.getDemand());
+ }
+ }
}
/**
@@ -879,14 +893,14 @@ public class FairScheduler extends
// Update application requests
application.updateResourceRequests(ask);
- LOG.debug("allocate: post-update");
application.showRequests();
}
if (LOG.isDebugEnabled()) {
- LOG.debug("allocate:" +
+ LOG.debug("allocate: post-update" +
" applicationAttemptId=" + appAttemptId +
- " #ask=" + ask.size());
+ " #ask=" + ask.size() +
+ " reservation= " + application.getCurrentReservation());
LOG.debug("Preempting " + application.getPreemptionContainers().size()
+ " container(s)");