[ 
https://issues.apache.org/jira/browse/HADOOP-4413?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12665694#action_12665694
 ] 

Vivek Ratan commented on HADOOP-4413:
-------------------------------------

bq. Vivek, the patch doesn't apply cleanly to trunk anymore. Can you please 
regenerate a new patch ?
I've been working on a new patch. Should be out soon. 

bq. Can you explain why you need the scheduler object in the instrumentation 
classes ?
You're right - it is not used currently, but it could very well be in the 
future. It seemed fair that the instrumentation class for the Scheduler have 
access to the Scheduler object, as the former decides what to log or capture. 
The same model is followed by JobTrackerInstrumentation and 
TaskTrackerInstrmentation, and I was being consistent.

bq. For many of the APIs defined, it seems to make sense to include some more 
information like which job and which task are affected.
bq. I did not see events related to job lifecycle - like when it was submitted, 
initialized, scheduled, completed etc
Remember that there is a JobTrackerInstrumentation class that captures job 
related information - jobs added/removed, tasks launched, etc. This is 
information independent of schedulers. CapacitySchedulerInstrumentation is 
instrumenting just the capacity scheduler, so I've included events that mimic 
the scheduler's logic. I didn't see it very useful to include job-specific 
information in the scheduler events, especially as that is captured by 
JobTrackerInstrumentation , but we can add that in later if we feel it's 
important for our analysis. 

bq. At the same time, I don't see how the lookingFor*Task events are useful.
Part of the Capacity Scheduler logic is to determine whether to assign a TT a 
map or reduce task, if a TT can accept both. The lookingFor*Task events capture 
this logic decision.

bq. For creating an instance of the CapacitySchedulerInstrumentation, you can 
use the ReflectionUtils API. ..
I'm following the same logic that is used to create the other instrumentation 
classes - JobTrackerInstrumentation and TaskTrackerInstrmentation.

bq. The API toFullPropertyName is made private, but is being used by 
TestQueueCapacities. Either the code must be duplicated in the test method, or 
it should be left package private.
Yes, I caught this yesterday too. Not sure why I made the change, but it's not 
needed. I'll remove it. 

bq. Like Mac indicated above, it would be good if the event log was more 
formatted than it is now.
Agreed. Am looking into that. 


> Capacity Scheduler to provide a scheduler history log to record actions taken 
> and why
> -------------------------------------------------------------------------------------
>
>                 Key: HADOOP-4413
>                 URL: https://issues.apache.org/jira/browse/HADOOP-4413
>             Project: Hadoop Core
>          Issue Type: Improvement
>          Components: contrib/capacity-sched
>            Reporter: Mac Yang
>         Attachments: 4413.1.patch
>
>
> It would be very useful if the capacity scheduler can provide a log that 
> record the decisions made and actions taken by the scheduler.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to