Browse Source

HADOOP-11589. NetUtils.createSocketAddr should trim the input URI. Contributed by Rakesh R.

Tsuyoshi Ozawa 10 years ago
parent
commit
00cfb25bb8

+ 3 - 0
hadoop-common-project/hadoop-common/CHANGES.txt

@@ -602,6 +602,9 @@ Release 2.7.0 - UNRELEASED
     HADOOP-9869. Configuration.getSocketAddr()/getEnum() should use
     getTrimmed(). (Tsuyoshi Ozawa via aajisaka)
 
+    HADOOP-11589. NetUtils.createSocketAddr should trim the input URI.
+    (Rakesh R via ozawa)
+
   OPTIMIZATIONS
 
     HADOOP-11323. WritableComparator#compare keeps reference to byte array.

+ 1 - 0
hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/net/NetUtils.java

@@ -189,6 +189,7 @@ public class NetUtils {
       throw new IllegalArgumentException("Target address cannot be null." +
           helpText);
     }
+    target = target.trim();
     boolean hasScheme = target.contains("://");    
     URI uri = null;
     try {

+ 10 - 0
hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/conf/TestConfiguration.java

@@ -1480,6 +1480,16 @@ public class TestConfiguration extends TestCase {
     // it's expected behaviour.
   }
 
+  public void testTrimCreateSocketAddress() {
+    Configuration conf = new Configuration();
+    NetUtils.addStaticResolution("host", "127.0.0.1");
+    final String defaultAddr = "host:1  ";
+
+    InetSocketAddress addr = NetUtils.createSocketAddr(defaultAddr);
+    conf.setSocketAddr("myAddress", addr);
+    assertEquals(defaultAddr.trim(), NetUtils.getHostPortString(addr));
+  }
+
   public static void main(String[] argv) throws Exception {
     junit.textui.TestRunner.main(new String[]{
       TestConfiguration.class.getName()