[ 
https://issues.apache.org/jira/browse/MAPREDUCE-3050?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13112686#comment-13112686
 ] 

Robert Joseph Evans commented on MAPREDUCE-3050:
------------------------------------------------

bq. SchedulerAppImpl.java: IIUC, getReservedContainers() is new. It seems to be 
very similar to getAllReservedContainers(). Do we need both, and if so, how are 
they different?

getAllReservedContainers is synchronized properly where getReservedContainers 
is not :).  Also getReservedContainers is a public method exposed through the 
interface, so I will make just one method.

bq. YarnScheduler.java: getApplication() is @Private

@Private is a thing that Hadoop invented and is not a standard java thing.  
This is just saying that even though the method is public according to java it 
is not intended to be used by other components.  About the only thing it does 
is remove it's documentation from javadocs.  I suppose LimitedPrivate("yarn") 
might be better, but I marked it @Private because Queue is @Private and I did 
not want to expose a @Private class from a @Public method.

bq. getRootQueue(): The implementation of this method returns different types 
from CapacityScheduler vs. FifoScheduler.

The YarnScheduler interface returns a Queue.  CapacityScheduler and 
FifoScheduler each return an implementation of Queue.  What this means is that 
the following code will compile.

{code}
YarnScheduler sched = ...;
Queue q = sched.getRootQueue();
if(sched instanceof CapcityScheduler) {
    CSQueue cq = ((CapacityScheduler)sched).getRootQueue();
}
{code} 

> YarnScheduler needs to expose Resource Usage Information
> --------------------------------------------------------
>
>                 Key: MAPREDUCE-3050
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-3050
>             Project: Hadoop Map/Reduce
>          Issue Type: Bug
>          Components: resourcemanager
>    Affects Versions: 0.23.0, 0.24.0
>            Reporter: Robert Joseph Evans
>            Assignee: Robert Joseph Evans
>            Priority: Blocker
>             Fix For: 0.23.0, 0.24.0
>
>         Attachments: MR-3050.txt
>
>
> Before the recent refactor The nodes had information in them about how much 
> resources they were using.  This information is not hidden inside 
> SchedulerNode.  Similarly resource usage information about an application, or 
> in aggregate is only available through the Scheduler and there is not 
> interface to pull it out.
> We need to expose APIs to get Resource and Container information from the 
> scheduler, in aggregate across the entire cluster, per application, per node, 
> and ideally also per queue if applicable (although there are no JIRAs I am 
> aware of that need this right now).

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to