Zhenhua Guo <jen...@gmail.com> wrote: > It seems that mapred.task.cache.levels is used by JobTracker to create > task caches for nodes at various levels. This makes data-locality > scheduling possible. > If I set mapred.task.cache.levels to 0 and use default network > topology, then mapreduce job will stall forever. The reason is > JobInProgress::findNewMapTask always returns -1. Field > "nonRunningMapCache" is empty and field "nonLocalMaps" is also empty. > I wonder whether it is designed to behave like that. Or when > mapred.task.cache.levels is set 0, Hadoop should fall back to some > default caching strategy. E.g. put all tasks into > JobInProgress::nonLocalMaps.
I think there should either be a fallback mechanism or the code should disallow/ignore values less than 1. Can you file a JIRA issue for this? https://issues.apache.org/jira/secure/CreateIssue!default.jspa Thanks, Greg