zhihai xu created MAPREDUCE-6425:
------------------------------------
Summary: 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
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)