This is an automated email from the ASF dual-hosted git repository. liuml07 pushed a commit to branch branch-3.1 in repository https://gitbox.apache.org/repos/asf/hadoop.git
The following commit(s) were added to refs/heads/branch-3.1 by this push: new 2c40f20 HADOOP-17052. NetUtils.connect() throws unchecked exception (UnresolvedAddressException) causing clients to abort (#2036) 2c40f20 is described below commit 2c40f20debd3a4c02dab3a6866cb403913096096 Author: Dhiraj <dhir...@users.noreply.github.com> AuthorDate: Mon Jun 1 10:49:17 2020 -0700 HADOOP-17052. NetUtils.connect() throws unchecked exception (UnresolvedAddressException) causing clients to abort (#2036) Contributed by Dhiraj Hegde. Signed-off-by: Mingliang Liu <lium...@apache.org> --- .../main/java/org/apache/hadoop/net/NetUtils.java | 3 +++ .../java/org/apache/hadoop/net/TestNetUtils.java | 20 +++++++++++++++++++- 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/net/NetUtils.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/net/NetUtils.java index 0f9cfc3..1b54fce 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/net/NetUtils.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/net/NetUtils.java @@ -37,6 +37,7 @@ import java.net.URISyntaxException; import java.net.UnknownHostException; import java.net.ConnectException; import java.nio.channels.SocketChannel; +import java.nio.channels.UnresolvedAddressException; import java.util.Map.Entry; import java.util.regex.Pattern; import java.util.*; @@ -532,6 +533,8 @@ public class NetUtils { } } catch (SocketTimeoutException ste) { throw new ConnectTimeoutException(ste.getMessage()); + } catch (UnresolvedAddressException uae) { + throw new UnknownHostException(uae.getMessage()); } // There is a very rare case allowed by the TCP specification, such that diff --git a/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/net/TestNetUtils.java b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/net/TestNetUtils.java index 30176f2..d80a249 100644 --- a/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/net/TestNetUtils.java +++ b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/net/TestNetUtils.java @@ -95,7 +95,25 @@ public class TestNetUtils { assertInException(se, "Invalid argument"); } } - + + @Test + public void testInvalidAddress() throws Throwable { + Configuration conf = new Configuration(); + + Socket socket = NetUtils.getDefaultSocketFactory(conf) + .createSocket(); + socket.bind(new InetSocketAddress("127.0.0.1", 0)); + try { + NetUtils.connect(socket, + new InetSocketAddress("invalid-test-host", + 0), 20000); + socket.close(); + fail("Should not have connected"); + } catch (UnknownHostException uhe) { + LOG.info("Got exception: ", uhe); + } + } + @Test public void testSocketReadTimeoutWithChannel() throws Exception { doSocketReadTimeoutTest(true); --------------------------------------------------------------------- To unsubscribe, e-mail: common-commits-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-commits-h...@hadoop.apache.org