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

Hong Tang commented on MAPREDUCE-1695:
--------------------------------------

bq. So, the patch seems safe still. But does it seem too close to be 
comfortable ?

No. I would never feel comfortable knowing that the correctness of the 
synchronization structure is hanging on a thin thread of reasoning.

I dig a bit deeper in the code, it seems task scheduler has the knowledge of 
queue manager but not vice versa (queue manager only knows queue refresher). So 
I suppose the right order of locking should be "task scheduler" -> "queue 
manager". To get that correct, it seems we can fix it by having JobTracker to 
lock task scheduler before it calls anything in queue manager that could call 
back to task scheduler - for now there is only one such call site which is 
refreshQueues(). 

> capacity scheduler is not included in findbugs/javadoc targets
> --------------------------------------------------------------
>
>                 Key: MAPREDUCE-1695
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-1695
>             Project: Hadoop Map/Reduce
>          Issue Type: Bug
>          Components: contrib/capacity-sched
>            Reporter: Hong Tang
>            Assignee: Hong Tang
>         Attachments: MAPREDUCE-1695-2.patch, mapreduce-1695-20100420-2.patch, 
> mapreduce-1695-20100420.patch, MAPREDUCE-1695-3.patch, MAPREDUCE-1695.patch, 
> mr1695-hadoop-findbugs-report-1.html, mr1695-hadoop-findbugs-report-2.html
>
>
> Capacity Scheduler is not included in findbugs/javadoc targets.

-- 
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