[
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