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

Eric Payne commented on MAPREDUCE-2789:
---------------------------------------

Hi Arun. Thanks for catching these issues.

> 1. Need a null check for 'currentAttempt' in RMAppImpl.
Done.

> 2. In RMAppAttemptImpl.getApplicationResourceUsageReport: 
>   1. You need to acquire the readLock.
I don't think the read lock would be effective or necessary here. Please tell 
me if my logic is faulty :D  :
* Within {{RMAppAttemptImpl.java}}, {{getApplicationResourceUsageReport()}} 
calls {{scheduler.getSchedulerAppInfo(...)}} to get an instance of the 
SchedulerAppReport object. This instance variable is local to 
{{getApplicationResourceUsageReport()}} and contains copies of the {{live}} 
node and {{reserved}} node lists, not pointers to the actual lists themselves.
** Even if this instance of SchedulerAppReport contained pointers to the 
{{live}} and {{reserved}} node lists, the private readlock within the 
RMAppAttemptImpl class would not be honored by anything changing those lists, 
so this readlock would not be effective.
** Since this instance of SchedulerAppReport and its container {{live}} and 
{{reserved}} variables are local to {{getApplicationResourceUsageReport()}}, I 
don't think one thread can access the local variables of another thread, even 
if they are running in the same code. So, I don't think the readlock is needed, 
even for the sake of re-entrance.

>   2. Reserved containers loop needs a +=, not =
Done. Good catch.


> 3. In ApplicationResourceUsageReport, please use Resource rather than int for 
> all parameters/return-values. We don't want to tie it to just memory.
I did this for the ones that are tracking resources. The others are simply 
countin containers.

> 4. JobStatus 
>   1. Minor nit - please use 'Reserved' rather than 'Rsvd' for apis, we try to 
> avoid these in api names (maybe use expansion for variable names too?)
Done.

>   2. I don't get why we need (get,set)ApplicationMasterInfo - we already have 
> (get,set)TrackingUrl?
I removed the JobStatus.(set,get)ApplicationMasterInfo() APIs and just used the 
(set,get)SchedulingInfo APIs.


                
> [MR:279] Update the scheduling info on CLI
> ------------------------------------------
>
>                 Key: MAPREDUCE-2789
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-2789
>             Project: Hadoop Map/Reduce
>          Issue Type: Bug
>          Components: mrv2
>    Affects Versions: 0.23.0
>            Reporter: Ramya Sunil
>            Assignee: Eric Payne
>             Fix For: 0.23.0, 0.24.0
>
>         Attachments: MAPREDUCE-2789.v1.txt, MAPREDUCE-2789.v2.txt, 
> MAPREDUCE-2789.v3.txt
>
>
> The scheduling information such as number of containers running, memory usage 
> and reservations per job is not available on bin/mapred job -list CLI.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to