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

This commit is contained in:
Eric Payne 2017-09-19 10:35:15 -05:00
parent 3a20debdde
commit 595d478408

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.util.concurrent.HadoopExecutors; import org.apache.hadoop.util.concurrent.HadoopExecutors;
import org.apache.hadoop.yarn.api.records.ApplicationId; import org.apache.hadoop.yarn.api.records.ApplicationId;
@ -1088,7 +1089,11 @@ public ChannelFuture sendMap(ReduceContext reduceContext)
} }
nextMap.addListener(new ReduceMapFileCount(reduceContext)); nextMap.addListener(new ReduceMapFileCount(reduceContext));
} catch (IOException e) { } catch (IOException e) {
LOG.error("Shuffle error :", e); if (e instanceof DiskChecker.DiskErrorException) {
LOG.error("Shuffle error :" + e);
} else {
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);