HADOOP-9576. Changed NetUtils#wrapException to throw EOFException instead of wrapping it as IOException. Contributed by Steve Loughran

(cherry picked from commit 86bf8c7193)
This commit is contained in:
Jian He 2014-11-10 17:17:01 -08:00
parent d47a34fc66
commit 2b125b3a39
3 changed files with 23 additions and 0 deletions

View File

@ -79,6 +79,9 @@ Release 2.7.0 - UNRELEASED
HADOOP-11294. Nfs3FileAttributes should not change the values of rdev,
nlink and size in the constructor. (Brandon Li via wheat9)
HADOOP-9576. Changed NetUtils#wrapException to throw EOFException instead
of wrapping it as IOException. (Steve Loughran via jianhe)
Release 2.6.0 - 2014-11-15
INCOMPATIBLE CHANGES

View File

@ -17,6 +17,7 @@
*/
package org.apache.hadoop.net;
import java.io.EOFException;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
@ -759,6 +760,13 @@ public static IOException wrapException(final String destHost,
+ " failed on socket timeout exception: " + exception
+ ";"
+ see("NoRouteToHost"));
} else if (exception instanceof EOFException) {
return wrapWithMessage(exception,
"End of File Exception between "
+ getHostDetailsAsString(destHost, destPort, localHost)
+ ": " + exception
+ ";"
+ see("EOFException"));
}
else {
return (IOException) new IOException("Failed on local exception: "

View File

@ -19,6 +19,7 @@
import static org.junit.Assert.*;
import java.io.EOFException;
import java.io.IOException;
import java.net.BindException;
import java.net.ConnectException;
@ -256,6 +257,17 @@ public void testWrapUnknownHostException() throws Throwable {
assertInException(wrapped, "/UnknownHost");
}
@Test
public void testWrapEOFException() throws Throwable {
IOException e = new EOFException("eof");
IOException wrapped = verifyExceptionClass(e, EOFException.class);
assertInException(wrapped, "eof");
assertWikified(wrapped);
assertInException(wrapped, "localhost");
assertRemoteDetailsIncluded(wrapped);
assertInException(wrapped, "/EOFException");
}
@Test
public void testGetConnectAddress() throws IOException {
NetUtils.addStaticResolution("host", "127.0.0.1");