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

This commit is contained in:
Tsuyoshi Ozawa 2015-02-15 00:30:46 +09:00
parent b7d48286a9
commit ef950ea1c0
3 changed files with 15 additions and 0 deletions

View File

@ -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.

View File

@ -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 {

View File

@ -643,6 +643,17 @@ public class TestNetUtils {
assertNotNull(NetUtils.getHostNameOfIP("127.0.0.1:1"));
}
@Test
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));
}
private <T> void assertBetterArrayEquals(T[] expect, T[]got) {
String expectStr = StringUtils.join(expect, ", ");
String gotStr = StringUtils.join(got, ", ");