MAPREDUCE-6960. Shuffle Handler prints disk error stack traces for every read failure.

(cherry picked from commit 595d478408104bdfe1f08efd79930e18862fafbb)
This commit is contained in:
Eric Payne 2017-09-19 10:35:15 -05:00
parent 03a380daec
commit 67ada5d485

View File

@ -80,6 +80,7 @@
import org.apache.hadoop.security.proto.SecurityProtos.TokenProto; import org.apache.hadoop.security.proto.SecurityProtos.TokenProto;
import org.apache.hadoop.security.ssl.SSLFactory; import org.apache.hadoop.security.ssl.SSLFactory;
import org.apache.hadoop.security.token.Token; import org.apache.hadoop.security.token.Token;
import org.apache.hadoop.util.DiskChecker;
import org.apache.hadoop.util.Shell; import org.apache.hadoop.util.Shell;
import org.apache.hadoop.yarn.api.records.ApplicationId; import org.apache.hadoop.yarn.api.records.ApplicationId;
import org.apache.hadoop.yarn.conf.YarnConfiguration; import org.apache.hadoop.yarn.conf.YarnConfiguration;
@ -1025,7 +1026,11 @@ public ChannelFuture sendMap(ReduceContext reduceContext)
} }
nextMap.addListener(new ReduceMapFileCount(reduceContext)); nextMap.addListener(new ReduceMapFileCount(reduceContext));
} catch (IOException e) { } catch (IOException e) {
if (e instanceof DiskChecker.DiskErrorException) {
LOG.error("Shuffle error :" + e);
} else {
LOG.error("Shuffle error :", e); LOG.error("Shuffle error :", e);
}
String errorMessage = getErrorMessage(e); String errorMessage = getErrorMessage(e);
sendError(reduceContext.getCtx(), errorMessage, sendError(reduceContext.getCtx(), errorMessage,
INTERNAL_SERVER_ERROR); INTERNAL_SERVER_ERROR);