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 "Ramkumar Vadali (JIRA)" <ji...@apache.org> on 2011/05/23 22:05:47 UTC

[jira] [Updated] (MAPREDUCE-2185) Infinite loop at creating splits using CombineFileInputFormat

     [ https://issues.apache.org/jira/browse/MAPREDUCE-2185?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ramkumar Vadali updated MAPREDUCE-2185:
---------------------------------------

    Attachment: MAPREDUCE-2185.patch

For blocks that do not have hosts associated with them, use NetworkTopology.DEFAULT_RACK as the rack location. This avoids the infinite loop later on in getMoreSplits()

> Infinite loop at creating splits using CombineFileInputFormat
> -------------------------------------------------------------
>
>                 Key: MAPREDUCE-2185
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-2185
>             Project: Hadoop Map/Reduce
>          Issue Type: Bug
>          Components: job submission
>            Reporter: Hairong Kuang
>            Assignee: Hairong Kuang
>         Attachments: MAPREDUCE-2185.patch
>
>
> This is caused by a missing block in HDFS. So the block's locations are empty. The following code adds the block to blockToNodes map but not to rackToBlocks map. Later on when generating splits, only blocks in rackToBlocks are removed from blockToNodes map. So blockToNodes map can never become empty therefore causing infinite loop
> {code}
>           // add this block to the block --> node locations map
>           blockToNodes.put(oneblock, oneblock.hosts);
>           // add this block to the rack --> block map
>           for (int j = 0; j < oneblock.racks.length; j++) {
>              ..
>           }
> {code}

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira