You are viewing a plain text version of this content. The canonical link for it is here.
Posted to mapreduce-issues@hadoop.apache.org by "Jason Lowe (JIRA)" <ji...@apache.org> on 2012/12/03 22:29:59 UTC
[jira] [Commented] (MAPREDUCE-4842) Shuffle race can hang reducer
[ https://issues.apache.org/jira/browse/MAPREDUCE-4842?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13509066#comment-13509066 ]
Jason Lowe commented on MAPREDUCE-4842:
---------------------------------------
Here's the sequence of events that I believe led to the hang during shuffle. See {{MergeManager}} for context of variable references.
# Fetchers started fetching data
# Enough data finishes transferring to reach the {{commitMemory}} threshold and an in-memory merge starts
# While the merge takes place some of the output data is freed before the merge completes, lowering {{commitMemory}} and {{usedMemory}} which allows more data to be fetched
# Eventually we try to fetch too much data because {{usedMemory}} exceeds {{memoryLimit}} and further fetchers are told to WAIT
# All of the outstanding fetches complete and call {{closeInMemoryFile}}, but we don't start a merge because the previous merge is still marked in progress
# Merge completes, allowing a new merge to be started on the next {{closeInMemoryFile}} call
# With no outstanding fetches and no new fetches allowed, we never call {{closeInMemoryFile}} again and never start the next merge
# With no merge in progress and therefore nothing to wait upon, fetcher threads proceed to pummel the {{MergeManager}} asking for merge data reservations that are never given, and the reducer log grows rather rapidly
> Shuffle race can hang reducer
> -----------------------------
>
> Key: MAPREDUCE-4842
> URL: https://issues.apache.org/jira/browse/MAPREDUCE-4842
> Project: Hadoop Map/Reduce
> Issue Type: Bug
> Components: mrv2
> Affects Versions: 2.0.3-alpha, 0.23.5
> Reporter: Jason Lowe
>
> Saw an instance where the shuffle caused multiple reducers in a job to hang. It looked similar to the problem described in MAPREDUCE-3721, where the fetchers were all being told to WAIT by the MergeManager but no merge was taking place.
--
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