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 "zhihai xu (JIRA)" <ji...@apache.org> on 2015/07/03 03:44:04 UTC
[jira] [Updated] (MAPREDUCE-6425) ShuffleHandler passes wrong base
parameter to getMapOutputInfo if mapId is not in the cache.
[ https://issues.apache.org/jira/browse/MAPREDUCE-6425?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
zhihai xu updated MAPREDUCE-6425:
---------------------------------
Attachment: MAPREDUCE-6425.000.patch
> ShuffleHandler passes wrong base parameter to getMapOutputInfo if mapId is not in the cache.
> --------------------------------------------------------------------------------------------
>
> Key: MAPREDUCE-6425
> URL: https://issues.apache.org/jira/browse/MAPREDUCE-6425
> Project: Hadoop Map/Reduce
> Issue Type: Bug
> Components: mrv2, nodemanager
> Reporter: zhihai xu
> Assignee: zhihai xu
> Attachments: MAPREDUCE-6425.000.patch
>
>
> ShuffleHandler passes wrong {{base}} parameter to {{getMapOutputInfo}} if mapId is not in the cache.
> getMapOutputInfo expected the {{base}} parameter is {{getBaseLocation(jobId, user) + mapId}}
> When it is called inside populateHeaders, the {{base}} parameter is set correctly
> {code}
> String base = outputBaseStr + mapId;
> MapOutputInfo outputInfo = getMapOutputInfo(base, mapId, reduce, user);
> {code}
> When it is called outside populateHeaders, the {{base}} parameter is set wrongly to outputBasePathStr after number of mapId cached exceeds {{mapOutputMetaInfoCacheSize}}.
> {code}
> String outputBasePathStr = getBaseLocation(jobId, user);
> MapOutputInfo info = mapOutputInfoMap.get(mapId);
> if (info == null) {
> info = getMapOutputInfo(outputBasePathStr, mapId, reduceId, user);
> }
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)