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

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

+1 to Hitesh's patch at least as a quick fix.  I can try and reproduce the 
issue here and verify that the patch does indeed fix the issue.  I can also add 
in a few unit tests for it and turn it into a real patch if you like.

I would also like some feedback on a potential (long term) refactor of the code 
which would be done on a separate JIRA after 0.23 stabilizes.  It seems to me 
that the root cause of this issue is because a special condition for a 
FAST_FAIL_MAP was missed.  The code right now is written with lots of if else 
statements separating out map tasks from reduce tasks and also from failed map 
tasks, etc.  I think it would be cleaner to replace the if statements with 
classes that use polymorphism to change the methods called.  This would allow 
the different handling of a failed map from a normal map or from a reduce to be 
more evident.  It would also force the internal data structures that keep track 
of the different types of tasks to be combined together.  This is just 
something that popped into my head while trying to evaluate Hitesh's fix.  I 
have not really evaluated what it would take to make it work or anything, I 
would just like some feedback about the idea before filing a JIRA a
 bout it.
                
> MR AM can hang if containers are allocated on a node blacklisted by the AM
> --------------------------------------------------------------------------
>
>                 Key: MAPREDUCE-3460
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-3460
>             Project: Hadoop Map/Reduce
>          Issue Type: Bug
>          Components: mr-am, mrv2
>    Affects Versions: 0.23.0
>            Reporter: Siddharth Seth
>            Priority: Blocker
>
> When an AM is assigned a FAILED_MAP (priority = 5) container on a nodemanager 
> which it has blacklisted - it tries to
> find a corresponding container request.
> This uses the hostname to find the matching container request - and can end 
> up returning any of the ContainerRequests which may have requested a 
> container on this node. This container request is cleaned to remove the bad 
> node - and then added back to the RM 'ask' list.
> The AM cleans the 'ask' list after each heartbeat - The RM Allocator is still 
> aware of the priority=5 container (in 'remoteRequestsTable') - but this never 
> gets added back to the 'ask' set - which is what is sent to the RM.

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