HDFS-9905. WebHdfsFileSystem#runWithRetry should display original stack trace on error. (Wei-Chiu Chuang via iwasakims)
cherry-picked from 6fcde2e38d
This commit is contained in:
parent
577466c1f2
commit
5a3fed0602
|
@ -641,8 +641,10 @@ public class WebHdfsFileSystem extends FileSystem
|
|||
node = url.getAuthority();
|
||||
}
|
||||
try {
|
||||
ioe = ioe.getClass().getConstructor(String.class)
|
||||
.newInstance(node + ": " + ioe.getMessage());
|
||||
IOException newIoe = ioe.getClass().getConstructor(String.class)
|
||||
.newInstance(node + ": " + ioe.getMessage());
|
||||
newIoe.setStackTrace(ioe.getStackTrace());
|
||||
ioe = newIoe;
|
||||
} catch (NoSuchMethodException | SecurityException
|
||||
| InstantiationException | IllegalAccessException
|
||||
| IllegalArgumentException | InvocationTargetException e) {
|
||||
|
|
|
@ -18,7 +18,6 @@
|
|||
|
||||
package org.apache.hadoop.hdfs.web;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.fail;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
|
@ -43,6 +42,7 @@ import org.apache.hadoop.hdfs.DFSConfigKeys;
|
|||
import org.apache.hadoop.io.IOUtils;
|
||||
import org.apache.hadoop.net.NetUtils;
|
||||
import org.apache.hadoop.security.authentication.client.ConnectionConfigurator;
|
||||
import org.apache.hadoop.test.GenericTestUtils;
|
||||
import org.junit.After;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
|
@ -115,7 +115,8 @@ public class TestWebHdfsTimeouts {
|
|||
fs.listFiles(new Path("/"), false);
|
||||
fail("expected timeout");
|
||||
} catch (SocketTimeoutException e) {
|
||||
assertEquals(fs.getUri().getAuthority() + ": connect timed out", e.getMessage());
|
||||
GenericTestUtils.assertExceptionContains(fs.getUri().getAuthority()
|
||||
+ ": connect timed out",e);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -128,7 +129,8 @@ public class TestWebHdfsTimeouts {
|
|||
fs.listFiles(new Path("/"), false);
|
||||
fail("expected timeout");
|
||||
} catch (SocketTimeoutException e) {
|
||||
assertEquals(fs.getUri().getAuthority() + ": Read timed out", e.getMessage());
|
||||
GenericTestUtils.assertExceptionContains(fs.getUri().getAuthority() +
|
||||
": Read timed out", e);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -143,7 +145,8 @@ public class TestWebHdfsTimeouts {
|
|||
fs.getDelegationToken("renewer");
|
||||
fail("expected timeout");
|
||||
} catch (SocketTimeoutException e) {
|
||||
assertEquals(fs.getUri().getAuthority() + ": connect timed out", e.getMessage());
|
||||
GenericTestUtils.assertExceptionContains(fs.getUri().getAuthority() +
|
||||
": connect timed out", e);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -157,7 +160,8 @@ public class TestWebHdfsTimeouts {
|
|||
fs.getDelegationToken("renewer");
|
||||
fail("expected timeout");
|
||||
} catch (SocketTimeoutException e) {
|
||||
assertEquals(fs.getUri().getAuthority() + ": Read timed out", e.getMessage());
|
||||
GenericTestUtils.assertExceptionContains(
|
||||
fs.getUri().getAuthority() + ": Read timed out", e);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -172,7 +176,8 @@ public class TestWebHdfsTimeouts {
|
|||
fs.getFileChecksum(new Path("/file"));
|
||||
fail("expected timeout");
|
||||
} catch (SocketTimeoutException e) {
|
||||
assertEquals(fs.getUri().getAuthority() + ": connect timed out", e.getMessage());
|
||||
GenericTestUtils.assertExceptionContains(
|
||||
fs.getUri().getAuthority() + ": connect timed out", e);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -187,7 +192,8 @@ public class TestWebHdfsTimeouts {
|
|||
fs.getFileChecksum(new Path("/file"));
|
||||
fail("expected timeout");
|
||||
} catch (SocketTimeoutException e) {
|
||||
assertEquals(fs.getUri().getAuthority() + ": Read timed out", e.getMessage());
|
||||
GenericTestUtils.assertExceptionContains(
|
||||
fs.getUri().getAuthority() + ": Read timed out", e);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -203,7 +209,8 @@ public class TestWebHdfsTimeouts {
|
|||
os = fs.create(new Path("/file"));
|
||||
fail("expected timeout");
|
||||
} catch (SocketTimeoutException e) {
|
||||
assertEquals(fs.getUri().getAuthority() + ": connect timed out", e.getMessage());
|
||||
GenericTestUtils.assertExceptionContains(
|
||||
fs.getUri().getAuthority() + ": connect timed out", e);
|
||||
} finally {
|
||||
IOUtils.cleanup(LOG, os);
|
||||
}
|
||||
|
@ -223,7 +230,7 @@ public class TestWebHdfsTimeouts {
|
|||
os = null;
|
||||
fail("expected timeout");
|
||||
} catch (SocketTimeoutException e) {
|
||||
assertEquals("Read timed out", e.getMessage());
|
||||
GenericTestUtils.assertExceptionContains("Read timed out", e);
|
||||
} finally {
|
||||
IOUtils.cleanup(LOG, os);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue