[prev in list] [next in list] [prev in thread] [next in thread]
List: hadoop-commits
Subject: svn commit: r1332430 - in /hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common: .
From: bobby () apache ! org
Date: 2012-04-30 21:57:55
Message-ID: 20120430215755.AEC092388A3F () eris ! apache ! org
[Download RAW message or body]
Author: bobby
Date: Mon Apr 30 21:57:54 2012
New Revision: 1332430
URL: http://svn.apache.org/viewvc?rev=1332430&view=rev
Log:
svn merge -c 1332427. FIXES: HADOOP-8335. Improve Configuration's address handling \
(Daryn Sharp via bobby)
Modified:
hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/CHANGES.txt
hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/conf/Configuration.java
hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/net/NetUtils.java
hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/conf/TestConfiguration.java
hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/net/TestNetUtils.java
Modified: hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/CHANGES.txt?rev=1332430&r1=1332429&r2=1332430&view=diff
==============================================================================
--- hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/CHANGES.txt \
(original)
+++ hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/CHANGES.txt \
Mon Apr 30 21:57:54 2012 @@ -50,6 +50,9 @@ Release 0.23.3 - UNRELEASED
HADOOP-8330. Update TestSequenceFile.testCreateUsesFsArg() for HADOOP-8305.
(John George via szetszwo)
+ HADOOP-8335. Improve Configuration's address handling (Daryn Sharp via
+ bobby)
+
Release 0.23.2 - UNRELEASED
NEW FEATURES
Modified: hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/conf/Configuration.java
URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-0.23/hadoop-common-pro \
ject/hadoop-common/src/main/java/org/apache/hadoop/conf/Configuration.java?rev=1332430&r1=1332429&r2=1332430&view=diff
==============================================================================
--- hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/conf/Configuration.java \
(original)
+++ hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/conf/Configuration.java \
Mon Apr 30 21:57:54 2012 @@ -1212,6 +1212,29 @@ public class Configuration implements \
It final String address = get(name, defaultAddress);
return NetUtils.createSocketAddr(address, defaultPort, name);
}
+
+ /**
+ * Set the socket address for the <code>name</code> property as
+ * a <code>host:port</code>.
+ */
+ public void setSocketAddr(String name, InetSocketAddress addr) {
+ set(name, NetUtils.getHostPortString(addr));
+ }
+
+ /**
+ * Set the socket address a client can use to connect for the
+ * <code>name</code> property as a <code>host:port</code>. The wildcard
+ * address is replaced with the local host's address.
+ * @param name property name.
+ * @param addr InetSocketAddress of a listener to store in the given property
+ * @return InetSocketAddress for clients to connect
+ */
+ public InetSocketAddress updateConnectAddr(String name,
+ InetSocketAddress addr) {
+ final InetSocketAddress connectAddr = NetUtils.getConnectAddress(addr);
+ setSocketAddr(name, connectAddr);
+ return connectAddr;
+ }
/**
* Load a class by name.
Modified: hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/net/NetUtils.java
URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-0.23/hadoop-common-pro \
ject/hadoop-common/src/main/java/org/apache/hadoop/net/NetUtils.java?rev=1332430&r1=1332429&r2=1332430&view=diff
==============================================================================
--- hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/net/NetUtils.java \
(original)
+++ hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/net/NetUtils.java \
Mon Apr 30 21:57:54 2012 @@ -347,8 +347,19 @@ public class NetUtils {
* @return socket address that a client can use to connect to the server.
*/
public static InetSocketAddress getConnectAddress(Server server) {
- InetSocketAddress addr = server.getListenerAddress();
- if (addr.getAddress().isAnyLocalAddress()) {
+ return getConnectAddress(server.getListenerAddress());
+ }
+
+ /**
+ * Returns the InetSocketAddress that a client can use to connect to the
+ * given listening address. This returns "hostname:port" of the server,
+ * or "127.0.0.1:port" when given a wildcard address of "0.0.0.0:port".
+ *
+ * @param addr of a listener
+ * @return socket address that a client can use to connect to the server.
+ */
+ public static InetSocketAddress getConnectAddress(InetSocketAddress addr) {
+ if (!addr.isUnresolved() && addr.getAddress().isAnyLocalAddress()) {
try {
addr = new InetSocketAddress(InetAddress.getLocalHost(), addr.getPort());
} catch (UnknownHostException uhe) {
Modified: hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/conf/TestConfiguration.java
URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-0.23/hadoop-common-pro \
ject/hadoop-common/src/test/java/org/apache/hadoop/conf/TestConfiguration.java?rev=1332430&r1=1332429&r2=1332430&view=diff
==============================================================================
--- hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/conf/TestConfiguration.java \
(original)
+++ hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/conf/TestConfiguration.java \
Mon Apr 30 21:57:54 2012 @@ -23,6 +23,7 @@ import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.StringWriter;
+import java.net.InetAddress;
import java.net.InetSocketAddress;
import java.util.ArrayList;
import java.util.Arrays;
@@ -671,6 +672,27 @@ public class TestConfiguration extends T
}
}
+ public void testSetSocketAddress() throws IOException {
+ 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, NetUtils.getHostPortString(addr));
+ }
+
+ public void testUpdateSocketAddress() throws IOException {
+ InetSocketAddress addr = NetUtils.createSocketAddrForHost("host", 1);
+ InetSocketAddress connectAddr = conf.updateConnectAddr("myAddress", addr);
+ assertEquals(connectAddr.getHostName(), addr.getHostName());
+
+ addr = new InetSocketAddress(1);
+ connectAddr = conf.updateConnectAddr("myAddress", addr);
+ assertEquals(connectAddr.getHostName(),
+ InetAddress.getLocalHost().getHostName());
+ }
+
public void testReload() throws IOException {
out=new BufferedWriter(new FileWriter(CONFIG));
startConfig();
Modified: hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/net/TestNetUtils.java
URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-0.23/hadoop-common-pro \
ject/hadoop-common/src/test/java/org/apache/hadoop/net/TestNetUtils.java?rev=1332430&r1=1332429&r2=1332430&view=diff
==============================================================================
--- hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/net/TestNetUtils.java \
(original)
+++ hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/net/TestNetUtils.java \
Mon Apr 30 21:57:54 2012 @@ -170,6 +170,19 @@ public class TestNetUtils {
}
@Test
+ public void testGetConnectAddress() throws IOException {
+ NetUtils.addStaticResolution("host", "127.0.0.1");
+ InetSocketAddress addr = NetUtils.createSocketAddrForHost("host", 1);
+ InetSocketAddress connectAddr = NetUtils.getConnectAddress(addr);
+ assertEquals(addr.getHostName(), connectAddr.getHostName());
+
+ addr = new InetSocketAddress(1);
+ connectAddr = NetUtils.getConnectAddress(addr);
+ assertEquals(InetAddress.getLocalHost().getHostName(),
+ connectAddr.getHostName());
+ }
+
+ @Test
public void testCreateSocketAddress() throws Throwable {
InetSocketAddress addr = NetUtils.createSocketAddr(
"127.0.0.1:12345", 1000, "myconfig");
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic