Ryan Blue created MAPREDUCE-6639: ------------------------------------ Summary: Process hangs in LocatedFileStatusFetcher if FileSystem.get throws Key: MAPREDUCE-6639 URL: https://issues.apache.org/jira/browse/MAPREDUCE-6639 Project: Hadoop Map/Reduce Issue Type: Bug Components: mrv2 Reporter: Ryan Blue
ListLocatedFileStatusFetcher uses a thread pool, but one of the Callable thread functions, [ProcessInitialInputPathCallable|https://github.com/apache/hadoop/blob/trunk/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapred/LocatedFileStatusFetcher.java#L306], doesn't catch exceptions (the others do). When an exception is thrown, the thread exists and doesn't signal the error to the calling thread, which continues waiting to be signaled. This can happen when a FS implementation cannot be found. The solution is to use a try-catch around the implementation of {{ProcessInitialInputPathCallable#call}} that calls {{registerError}} when any exception is caught. -- This message was sent by Atlassian JIRA (v6.3.4#6332)