HADOOP-10543. RemoteException's unwrapRemoteException method failed for PathIOException. Contributed by Yongjun Zhang.
git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/branches/branch-2@1591182 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
e1313e7f89
commit
a85a2a9a0a
|
@ -102,6 +102,9 @@ Release 2.5.0 - UNRELEASED
|
||||||
HADOOP-10547. Give SaslPropertiesResolver.getDefaultProperties() public
|
HADOOP-10547. Give SaslPropertiesResolver.getDefaultProperties() public
|
||||||
scope. (Benoy Antony via Arpit Agarwal)
|
scope. (Benoy Antony via Arpit Agarwal)
|
||||||
|
|
||||||
|
HADOOP-10543. RemoteException's unwrapRemoteException method failed for
|
||||||
|
PathIOException. (Yongjun Zhang via atm)
|
||||||
|
|
||||||
Release 2.4.1 - UNRELEASED
|
Release 2.4.1 - UNRELEASED
|
||||||
|
|
||||||
INCOMPATIBLE CHANGES
|
INCOMPATIBLE CHANGES
|
||||||
|
|
|
@ -40,7 +40,7 @@ public class PathIOException extends IOException {
|
||||||
* @param path for the exception
|
* @param path for the exception
|
||||||
*/
|
*/
|
||||||
public PathIOException(String path) {
|
public PathIOException(String path) {
|
||||||
this(path, EIO, null);
|
this(path, EIO);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -59,7 +59,8 @@ public class PathIOException extends IOException {
|
||||||
* @param error custom string to use an the error text
|
* @param error custom string to use an the error text
|
||||||
*/
|
*/
|
||||||
public PathIOException(String path, String error) {
|
public PathIOException(String path, String error) {
|
||||||
this(path, error, null);
|
super(error);
|
||||||
|
this.path = path;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected PathIOException(String path, String error, Throwable cause) {
|
protected PathIOException(String path, String error, Throwable cause) {
|
||||||
|
|
|
@ -19,11 +19,13 @@
|
||||||
package org.apache.hadoop.fs.shell;
|
package org.apache.hadoop.fs.shell;
|
||||||
|
|
||||||
import static org.junit.Assert.assertEquals;
|
import static org.junit.Assert.assertEquals;
|
||||||
|
import static org.junit.Assert.assertTrue;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
|
||||||
import org.apache.hadoop.fs.Path;
|
import org.apache.hadoop.fs.Path;
|
||||||
import org.apache.hadoop.fs.PathIOException;
|
import org.apache.hadoop.fs.PathIOException;
|
||||||
|
import org.apache.hadoop.ipc.RemoteException;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
|
||||||
public class TestPathExceptions {
|
public class TestPathExceptions {
|
||||||
|
@ -52,5 +54,25 @@ public class TestPathExceptions {
|
||||||
assertEquals(new Path(path), pe.getPath());
|
assertEquals(new Path(path), pe.getPath());
|
||||||
assertEquals("`" + path + "': " + error, pe.getMessage());
|
assertEquals("`" + path + "': " + error, pe.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testRemoteExceptionUnwrap() throws Exception {
|
||||||
|
PathIOException pe;
|
||||||
|
RemoteException re;
|
||||||
|
IOException ie;
|
||||||
|
|
||||||
|
pe = new PathIOException(path);
|
||||||
|
re = new RemoteException(PathIOException.class.getName(), "test constructor1");
|
||||||
|
ie = re.unwrapRemoteException();
|
||||||
|
assertTrue(ie instanceof PathIOException);
|
||||||
|
ie = re.unwrapRemoteException(PathIOException.class);
|
||||||
|
assertTrue(ie instanceof PathIOException);
|
||||||
|
|
||||||
|
pe = new PathIOException(path, "constructor2");
|
||||||
|
re = new RemoteException(PathIOException.class.getName(), "test constructor2");
|
||||||
|
ie = re.unwrapRemoteException();
|
||||||
|
assertTrue(ie instanceof PathIOException);
|
||||||
|
ie = re.unwrapRemoteException(PathIOException.class);
|
||||||
|
assertTrue(ie instanceof PathIOException);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue