You are viewing a plain text version of this content. The canonical link for it is here.
Posted to hdfs-commits@hadoop.apache.org by at...@apache.org on 2013/10/23 17:20:36 UTC
svn commit: r1535057 - in
/hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs:
CHANGES.txt src/main/java/org/apache/hadoop/hdfs/web/JsonUtil.java
src/test/java/org/apache/hadoop/hdfs/web/TestJsonUtil.java
Author: atm
Date: Wed Oct 23 15:20:35 2013
New Revision: 1535057
URL: http://svn.apache.org/r1535057
Log:
HDFS-5403. WebHdfs client cannot communicate with older WebHdfs servers post HDFS-5306. Contributed by Aaron T. Myers.
Modified:
hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/web/JsonUtil.java
hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/web/TestJsonUtil.java
Modified: hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt?rev=1535057&r1=1535056&r2=1535057&view=diff
==============================================================================
--- hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt (original)
+++ hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt Wed Oct 23 15:20:35 2013
@@ -187,6 +187,9 @@ Release 2.2.1 - UNRELEASED
HDFS-5347. Add HDFS NFS user guide. (brandonli)
+ HDFS-5403. WebHdfs client cannot communicate with older WebHdfs servers
+ post HDFS-5306. (atm)
+
Release 2.2.0 - 2013-10-13
INCOMPATIBLE CHANGES
Modified: hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/web/JsonUtil.java
URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/web/JsonUtil.java?rev=1535057&r1=1535056&r2=1535057&view=diff
==============================================================================
--- hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/web/JsonUtil.java (original)
+++ hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/web/JsonUtil.java Wed Oct 23 15:20:35 2013
@@ -297,10 +297,15 @@ public class JsonUtil {
}
/** Convert a Json map to an DatanodeInfo object. */
- private static DatanodeInfo toDatanodeInfo(final Map<?, ?> m) {
+ static DatanodeInfo toDatanodeInfo(final Map<?, ?> m) {
if (m == null) {
return null;
}
+
+ Object infoSecurePort = m.get("infoSecurePort");
+ if (infoSecurePort == null) {
+ infoSecurePort = 0l; // same as the default value in hdfs.proto
+ }
return new DatanodeInfo(
(String)m.get("ipAddr"),
@@ -308,7 +313,7 @@ public class JsonUtil {
(String)m.get("storageID"),
(int)(long)(Long)m.get("xferPort"),
(int)(long)(Long)m.get("infoPort"),
- (int)(long)(Long)m.get("infoSecurePort"),
+ (int)(long)(Long)infoSecurePort,
(int)(long)(Long)m.get("ipcPort"),
(Long)m.get("capacity"),
Modified: hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/web/TestJsonUtil.java
URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/web/TestJsonUtil.java?rev=1535057&r1=1535056&r2=1535057&view=diff
==============================================================================
--- hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/web/TestJsonUtil.java (original)
+++ hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/web/TestJsonUtil.java Wed Oct 23 15:20:35 2013
@@ -17,6 +17,7 @@
*/
package org.apache.hadoop.hdfs.web;
+import java.util.HashMap;
import java.util.Map;
import org.apache.hadoop.fs.FileStatus;
@@ -58,4 +59,27 @@ public class TestJsonUtil {
System.out.println("fs2 = " + fs2);
Assert.assertEquals(fstatus, fs2);
}
+
+ @Test
+ public void testToDatanodeInfoWithoutSecurePort() {
+ Map<String, Object> response = new HashMap<String, Object>();
+
+ response.put("ipAddr", "127.0.0.1");
+ response.put("hostName", "localhost");
+ response.put("storageID", "fake-id");
+ response.put("xferPort", 1337l);
+ response.put("infoPort", 1338l);
+ // deliberately don't include an entry for "infoSecurePort"
+ response.put("ipcPort", 1339l);
+ response.put("capacity", 1024l);
+ response.put("dfsUsed", 512l);
+ response.put("remaining", 512l);
+ response.put("blockPoolUsed", 512l);
+ response.put("lastUpdate", 0l);
+ response.put("xceiverCount", 4096l);
+ response.put("networkLocation", "foo.bar.baz");
+ response.put("adminState", "NORMAL");
+
+ JsonUtil.toDatanodeInfo(response);
+ }
}