You are viewing a plain text version of this content. The canonical link for it is here.
Posted to mapreduce-dev@hadoop.apache.org by "zhihai xu (JIRA)" <ji...@apache.org> on 2015/07/03 03:42:05 UTC

[jira] [Created] (MAPREDUCE-6425) ShuffleHandler passes wrong base parameter to getMapOutputInfo if mapId is not in the cache.

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)