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

Karthik Kambatla commented on MAPREDUCE-4488:
---------------------------------------------

As we cannot deterministically validate the lack of deadlocks in a piece of 
code, I was thinking of the following two options:
- Verify lock ordering: in this case, we can write a test to verify that 
{{JobTracker#initJob()}} acquires the lock on {{JobTracker}} before acquiring 
the lock on {{JobInProgress}}. This would prevent future changes to the 
lock-ordering.
- Run two threads with sleep statements to force a deadlock in most cases. 
However, it remains a best-effort test.

I am very keen on learning alternate ways of testing deadlocks and which option 
to prefer.


                
> Port MAPREDUCE-463 (The job setup and cleanup tasks should be optional) to 
> branch-1
> -----------------------------------------------------------------------------------
>
>                 Key: MAPREDUCE-4488
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-4488
>             Project: Hadoop Map/Reduce
>          Issue Type: New Feature
>          Components: mrv1, performance
>    Affects Versions: 1.0.3
>            Reporter: Tom White
>            Assignee: Tom White
>         Attachments: fix-mr-4488.patch, MAPREDUCE-4488.patch
>
>


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to