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)