svn commit: r1407706 [2/2] - in /hadoop/common/branches/HDFS-2802/hadoop-hdfs-project/hadoop-hdfs: ./ src/contrib/bkjournal/src/main/java/org/apache/hadoop/contrib/bkjournal/ src/contrib/bkjournal/src

2012-11-09 Thread szetszwo
Modified: 
hadoop/common/branches/HDFS-2802/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestDatanodeRegistration.java
URL: 
http://svn.apache.org/viewvc/hadoop/common/branches/HDFS-2802/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestDatanodeRegistration.java?rev=1407706&r1=1407705&r2=1407706&view=diff
==
--- 
hadoop/common/branches/HDFS-2802/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestDatanodeRegistration.java
 (original)
+++ 
hadoop/common/branches/HDFS-2802/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestDatanodeRegistration.java
 Sat Nov 10 00:49:15 2012
@@ -17,12 +17,12 @@
  */
 package org.apache.hadoop.hdfs;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.fail;
+import static org.junit.Assert.*;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.mock;
 
 import java.net.InetSocketAddress;
+import java.security.Permission;
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
@@ -31,6 +31,7 @@ import org.apache.hadoop.hdfs.protocol.D
 import org.apache.hadoop.hdfs.protocol.DatanodeInfo;
 import org.apache.hadoop.hdfs.protocol.HdfsConstants;
 import org.apache.hadoop.hdfs.protocol.HdfsConstants.DatanodeReportType;
+import org.apache.hadoop.hdfs.server.blockmanagement.DatanodeManager;
 import org.apache.hadoop.hdfs.server.common.IncorrectVersionException;
 import org.apache.hadoop.hdfs.server.common.StorageInfo;
 import org.apache.hadoop.hdfs.server.protocol.DatanodeRegistration;
@@ -46,6 +47,64 @@ public class TestDatanodeRegistration {
   
   public static final Log LOG = 
LogFactory.getLog(TestDatanodeRegistration.class);
 
+  private static class MonitorDNS extends SecurityManager {
+int lookups = 0;
+@Override
+public void checkPermission(Permission perm) {}
+@Override
+public void checkConnect(String host, int port) {
+  if (port == -1) {
+lookups++;
+  }
+}
+  }
+
+  /**
+   * Ensure the datanode manager does not do host lookup after registration,
+   * especially for node reports.
+   * @throws Exception
+   */
+  @Test
+  public void testDNSLookups() throws Exception {
+MonitorDNS sm = new MonitorDNS();
+System.setSecurityManager(sm);
+
+MiniDFSCluster cluster = null;
+try {
+  HdfsConfiguration conf = new HdfsConfiguration();
+  cluster = new MiniDFSCluster.Builder(conf).numDataNodes(8).build();
+  cluster.waitActive();
+  
+  int initialLookups = sm.lookups;
+  assertTrue("dns security manager is active", initialLookups != 0);
+  
+  DatanodeManager dm =
+  cluster.getNamesystem().getBlockManager().getDatanodeManager();
+  
+  // make sure no lookups occur
+  dm.refreshNodes(conf);
+  assertEquals(initialLookups, sm.lookups);
+
+  dm.refreshNodes(conf);
+  assertEquals(initialLookups, sm.lookups);
+  
+  // ensure none of the reports trigger lookups
+  dm.getDatanodeListForReport(DatanodeReportType.ALL);
+  assertEquals(initialLookups, sm.lookups);
+  
+  dm.getDatanodeListForReport(DatanodeReportType.LIVE);
+  assertEquals(initialLookups, sm.lookups);
+  
+  dm.getDatanodeListForReport(DatanodeReportType.DEAD);
+  assertEquals(initialLookups, sm.lookups);
+} finally {
+  if (cluster != null) {
+cluster.shutdown();
+  }
+  System.setSecurityManager(null);
+}
+  }
+  
   /**
* Regression test for HDFS-894 ensures that, when datanodes
* are restarted, the new IPC port is registered with the

Modified: 
hadoop/common/branches/HDFS-2802/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestFileAppend2.java
URL: 
http://svn.apache.org/viewvc/hadoop/common/branches/HDFS-2802/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestFileAppend2.java?rev=1407706&r1=1407705&r2=1407706&view=diff
==
--- 
hadoop/common/branches/HDFS-2802/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestFileAppend2.java
 (original)
+++ 
hadoop/common/branches/HDFS-2802/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestFileAppend2.java
 Sat Nov 10 00:49:15 2012
@@ -51,6 +51,7 @@ public class TestFileAppend2 {
 
   {
 ((Log4JLogger)NameNode.stateChangeLog).getLogger().setLevel(Level.ALL);
+
((Log4JLogger)NameNode.blockStateChangeLog).getLogger().setLevel(Level.ALL);
 ((Log4JLogger)LeaseManager.LOG).getLogger().setLevel(Level.ALL);
 
((Log4JLogger)LogFactory.getLog(FSNamesystem.class)).getLogger().setLevel(Level.ALL);
 ((Log4JLogger)DataNode.LOG).getLogger().setLevel(Level.ALL);

Modified: 
hadoop/common/branches/HDFS-2802/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/

svn commit: r1407703 - in /hadoop/common/branches/HDFS-2802/hadoop-hdfs-project/hadoop-hdfs: ./ src/main/java/org/apache/hadoop/hdfs/server/namenode/ src/main/java/org/apache/hadoop/hdfs/server/nameno

2012-11-09 Thread szetszwo
Author: szetszwo
Date: Sat Nov 10 00:27:59 2012
New Revision: 1407703

URL: http://svn.apache.org/viewvc?rev=1407703&view=rev
Log:
HDFS-4170. Add snapshot information to INodesInPath.

Modified:

hadoop/common/branches/HDFS-2802/hadoop-hdfs-project/hadoop-hdfs/CHANGES.HDFS-2802.txt

hadoop/common/branches/HDFS-2802/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/INodeDirectory.java

hadoop/common/branches/HDFS-2802/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/snapshot/INodeDirectorySnapshottable.java

hadoop/common/branches/HDFS-2802/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/snapshot/Snapshot.java

hadoop/common/branches/HDFS-2802/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/snapshot/SnapshotManager.java

hadoop/common/branches/HDFS-2802/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestSnapshotPathINodes.java

Modified: 
hadoop/common/branches/HDFS-2802/hadoop-hdfs-project/hadoop-hdfs/CHANGES.HDFS-2802.txt
URL: 
http://svn.apache.org/viewvc/hadoop/common/branches/HDFS-2802/hadoop-hdfs-project/hadoop-hdfs/CHANGES.HDFS-2802.txt?rev=1407703&r1=1407702&r2=1407703&view=diff
==
--- 
hadoop/common/branches/HDFS-2802/hadoop-hdfs-project/hadoop-hdfs/CHANGES.HDFS-2802.txt
 (original)
+++ 
hadoop/common/branches/HDFS-2802/hadoop-hdfs-project/hadoop-hdfs/CHANGES.HDFS-2802.txt
 Sat Nov 10 00:27:59 2012
@@ -62,3 +62,5 @@ Branch-2802 Snapshot (Unreleased)
 
   HDFS-4159. Rename should fail when the destination directory is snapshottable
   and has snapshots. (Jing Zhao via szetszwo)
+
+  HDFS-4170. Add snapshot information to INodesInPath.  (szetszwo)

Modified: 
hadoop/common/branches/HDFS-2802/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/INodeDirectory.java
URL: 
http://svn.apache.org/viewvc/hadoop/common/branches/HDFS-2802/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/INodeDirectory.java?rev=1407703&r1=1407702&r2=1407703&view=diff
==
--- 
hadoop/common/branches/HDFS-2802/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/INodeDirectory.java
 (original)
+++ 
hadoop/common/branches/HDFS-2802/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/INodeDirectory.java
 Sat Nov 10 00:27:59 2012
@@ -32,6 +32,7 @@ import org.apache.hadoop.hdfs.protocol.H
 import org.apache.hadoop.hdfs.protocol.UnresolvedPathException;
 import 
org.apache.hadoop.hdfs.server.namenode.snapshot.INodeDirectorySnapshottable;
 import 
org.apache.hadoop.hdfs.server.namenode.snapshot.INodeDirectoryWithSnapshot;
+import org.apache.hadoop.hdfs.server.namenode.snapshot.Snapshot;
 
 import com.google.common.annotations.VisibleForTesting;
 
@@ -212,6 +213,13 @@ public class INodeDirectory extends INod
   if (index >= 0) {
 existing.addNode(curNode);
   }
+  if (curNode instanceof INodeDirectorySnapshottable) {
+//if the path is a non-snapshot path, update the latest snapshot.
+if (!existing.isSnapshot()) {
+  existing.updateLatestSnapshot(
+  ((INodeDirectorySnapshottable)curNode).getLastSnapshot());
+}
+  }
   if (curNode.isSymlink() && (!lastComp || (lastComp && resolveLink))) {
 final String path = constructPath(components, 0, components.length);
 final String preceding = constructPath(components, 0, count);
@@ -247,10 +255,17 @@ public class INodeDirectory extends INod
   return existing;
 }
 // Resolve snapshot root
-curNode = ((INodeDirectorySnapshottable) parentDir)
-.getSnapshotRoot(components[count + 1]);
+final Snapshot s = 
((INodeDirectorySnapshottable)parentDir).getSnapshot(
+components[count + 1]);
+if (s == null) {
+  //snapshot not found
+  curNode = null;
+} else {
+  curNode = s.getRoot();
+  existing.setSnapshot(s);
+}
 if (index >= -1) {
-  existing.snapshotRootIndex = existing.size;
+  existing.snapshotRootIndex = existing.numNonNull;
 }
   } else {
 // normal case, and also for resolving file/dir under snapshot root
@@ -498,7 +513,7 @@ public class INodeDirectory extends INod
 /**
  * Indicate the number of non-null elements in {@link #inodes}
  */
-private int size;
+private int numNonNull;
 /**
  * The path for a snapshot file/dir contains the .snapshot thus makes the
  * length of the path components larger the number of inodes. We use
@@ -513,17 +528,41 @@ public class INodeDirectory extends INod
  * Index of {@link INodeDirectoryWithSnaps

svn commit: r1407658 - in /hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/site: ./ apt/ apt/Federation.apt.vm apt/HDFSHighAvailabilityWithNFS.apt.vm apt/HDFSHighAvailabilityWithQJM.apt.vm apt

2012-11-09 Thread tucu
Author: tucu
Date: Fri Nov  9 21:44:00 2012
New Revision: 1407658

URL: http://svn.apache.org/viewvc?rev=1407658&view=rev
Log:
HADOOP-8860. Split MapReduce and YARN sections in documentation navigation. 
(tomwhite via tucu)

Added:
hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/site/
hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/site/apt/

hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/site/apt/Federation.apt.vm
  - copied unchanged from r1407655, 
hadoop/common/trunk/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-site/src/site/apt/Federation.apt.vm

hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/site/apt/HDFSHighAvailabilityWithNFS.apt.vm
  - copied unchanged from r1407655, 
hadoop/common/trunk/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-site/src/site/apt/HDFSHighAvailabilityWithNFS.apt.vm

hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/site/apt/HDFSHighAvailabilityWithQJM.apt.vm
  - copied unchanged from r1407655, 
hadoop/common/trunk/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-site/src/site/apt/HDFSHighAvailabilityWithQJM.apt.vm

hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/site/apt/WebHDFS.apt.vm
  - copied unchanged from r1407655, 
hadoop/common/trunk/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-site/src/site/apt/WebHDFS.apt.vm



svn commit: r1407590 - in /hadoop/common/branches/branch-0.23/hadoop-hdfs-project/hadoop-hdfs: ./ src/main/java/org/apache/hadoop/hdfs/server/common/ src/main/java/org/apache/hadoop/hdfs/server/datano

2012-11-09 Thread tgraves
Author: tgraves
Date: Fri Nov  9 18:51:43 2012
New Revision: 1407590

URL: http://svn.apache.org/viewvc?rev=1407590&view=rev
Log:
HDFS-4162. Some malformed and unquoted HTML strings are returned from datanode 
web ui. (Darek Dagit via tgraves)

Modified:

hadoop/common/branches/branch-0.23/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt

hadoop/common/branches/branch-0.23/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/common/JspHelper.java

hadoop/common/branches/branch-0.23/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/DatanodeJspHelper.java

hadoop/common/branches/branch-0.23/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/common/TestJspHelper.java

Modified: 
hadoop/common/branches/branch-0.23/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/hadoop/common/branches/branch-0.23/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt?rev=1407590&r1=1407589&r2=1407590&view=diff
==
--- 
hadoop/common/branches/branch-0.23/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt 
(original)
+++ 
hadoop/common/branches/branch-0.23/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt 
Fri Nov  9 18:51:43 2012
@@ -45,6 +45,9 @@ Release 0.23.5 - UNRELEASED
 HDFS-4090. getFileChecksum() result incompatible when called against
 zero-byte files. (Kihwal Lee via daryn)
 
+HDFS-4162. Some malformed and unquoted HTML strings are returned from 
+datanode web ui. (Darek Dagit via tgraves)
+
 Release 0.23.4 - UNRELEASED
 
   INCOMPATIBLE CHANGES

Modified: 
hadoop/common/branches/branch-0.23/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/common/JspHelper.java
URL: 
http://svn.apache.org/viewvc/hadoop/common/branches/branch-0.23/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/common/JspHelper.java?rev=1407590&r1=1407589&r2=1407590&view=diff
==
--- 
hadoop/common/branches/branch-0.23/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/common/JspHelper.java
 (original)
+++ 
hadoop/common/branches/branch-0.23/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/common/JspHelper.java
 Fri Nov  9 18:51:43 2012
@@ -387,15 +387,15 @@ public class JspHelper {
 if (!parts[i].equals("")) {
   tempPath.append(parts[i]);
   out.print("" + parts[i] + "" + Path.SEPARATOR);
+  out.print("\">" + HtmlQuoting.quoteHtmlChars(parts[i]) + "" + 
Path.SEPARATOR);
   tempPath.append(Path.SEPARATOR);
 }
   }
   if(parts.length > 0) {
-out.print(parts[parts.length-1]);
+out.print(HtmlQuoting.quoteHtmlChars(parts[parts.length-1]));
   }
 }
 catch (UnsupportedEncodingException ex) {
@@ -410,16 +410,16 @@ public class JspHelper {
String nnAddress) throws IOException {
 out.print("");
 out.print("Goto : ");
-out.print("");
-out.print("");
+out.print("");
+out.print("");
 out.print("");
++ "value=\"" + namenodeInfoPort  + "\"/>");
 if (UserGroupInformation.isSecurityEnabled()) {
   out.print("");
+  + "\" type=\"hidden\" value=\"" + tokenString + "\"/>");
 }
 out.print("");
++ "value=\"" + nnAddress  + "\"/>");
 out.print("");
   }
   

Modified: 
hadoop/common/branches/branch-0.23/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/DatanodeJspHelper.java
URL: 
http://svn.apache.org/viewvc/hadoop/common/branches/branch-0.23/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/DatanodeJspHelper.java?rev=1407590&r1=1407589&r2=1407590&view=diff
==
--- 
hadoop/common/branches/branch-0.23/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/DatanodeJspHelper.java
 (original)
+++ 
hadoop/common/branches/branch-0.23/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/DatanodeJspHelper.java
 Fri Nov  9 18:51:43 2012
@@ -44,6 +44,7 @@ import org.apache.hadoop.hdfs.protocol.L
 import org.apache.hadoop.hdfs.security.token.block.BlockTokenIdentifier;
 import org.apache.hadoop.hdfs.security.token.block.BlockTokenSecretManager;
 import org.apache.hadoop.hdfs.server.common.JspHelper;
+import org.apache.hadoop.http.HtmlQuoting;
 import org.apache.hadoop.net.NetUtils;
 import org.apache.hadoop.security.UserGroupInformation;
 import org.apache.hadoop.security.token.Token;
@@ -118,7 +119,7 @@ public class DatanodeJspHelper {
 String target = dir;
 final HdfsFileStatus targetStatus = dfs.getFileInfo(target);
 if (targetStatus == null) { // not exists
-  out.print("File or directory : " + target + " 

svn commit: r1407572 - /hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt

2012-11-09 Thread suresh
Author: suresh
Date: Fri Nov  9 18:16:38 2012
New Revision: 1407572

URL: http://svn.apache.org/viewvc?rev=1407572&view=rev
Log:
Moving HDFS-4080 to Incompatible Change section.

Modified:
hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt

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=1407572&r1=1407571&r2=1407572&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 
Fri Nov  9 18:16:38 2012
@@ -1674,11 +1674,12 @@ Release 0.23.5 - UNRELEASED
 
   INCOMPATIBLE CHANGES
 
+HDFS-4080. Add a separate logger for block state change logs to enable 
turning
+off those logs. (Kihwal Lee via suresh)
+
   NEW FEATURES
 
   IMPROVEMENTS
-HDFS-4080. Add a separate logger for block state change logs to enable 
turning
-off those logs. (Kihwal Lee via suresh)
 
   OPTIMIZATIONS
 




svn commit: r1407567 - /hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt

2012-11-09 Thread suresh
Author: suresh
Date: Fri Nov  9 18:09:21 2012
New Revision: 1407567

URL: http://svn.apache.org/viewvc?rev=1407567&view=rev
Log:
Moving HDFS-4080 to Incompatible Change section.

Modified:
hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt

Modified: hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt?rev=1407567&r1=1407566&r2=1407567&view=diff
==
--- hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt (original)
+++ hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt Fri Nov  9 
18:09:21 2012
@@ -1958,11 +1958,12 @@ Release 0.23.5 - UNRELEASED
 
   INCOMPATIBLE CHANGES
 
+HDFS-4080. Add a separate logger for block state change logs to enable 
turning
+off those logs. (Kihwal Lee via suresh)
+
   NEW FEATURES
 
   IMPROVEMENTS
-HDFS-4080. Add a separate logger for block state change logs to enable 
turning
-off those logs. (Kihwal Lee via suresh)
 
   OPTIMIZATIONS
 




svn commit: r1407557 - in /hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs: ./ src/main/java/org/apache/hadoop/hdfs/server/common/ src/main/java/org/apache/hadoop/hdfs/server/datanode/

2012-11-09 Thread suresh
Author: suresh
Date: Fri Nov  9 17:44:29 2012
New Revision: 1407557

URL: http://svn.apache.org/viewvc?rev=1407557&view=rev
Log:
HDFS-4162. Merging 1407556 from trunk

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/server/common/JspHelper.java

hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/DatanodeJspHelper.java

hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/common/TestJspHelper.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=1407557&r1=1407556&r2=1407557&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 
Fri Nov  9 17:44:29 2012
@@ -217,7 +217,9 @@ Release 2.0.3-alpha - Unreleased
 HDFS-4138. BackupNode startup fails due to uninitialized edit log.
 (Kihwal Lee via shv)
 
-Release 2.0.2-alpha - 2012-09-07 
+HDFS-4162. Some malformed and unquoted HTML strings are returned from 
+datanode web ui. (Darek Dagit via suresh)
+
   
   INCOMPATIBLE CHANGES
 

Modified: 
hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/common/JspHelper.java
URL: 
http://svn.apache.org/viewvc/hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/common/JspHelper.java?rev=1407557&r1=1407556&r2=1407557&view=diff
==
--- 
hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/common/JspHelper.java
 (original)
+++ 
hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/common/JspHelper.java
 Fri Nov  9 17:44:29 2012
@@ -387,15 +387,15 @@ public class JspHelper {
 if (!parts[i].equals("")) {
   tempPath.append(parts[i]);
   out.print("" + parts[i] + "" + Path.SEPARATOR);
+  out.print("\">" + HtmlQuoting.quoteHtmlChars(parts[i]) + "" + 
Path.SEPARATOR);
   tempPath.append(Path.SEPARATOR);
 }
   }
   if(parts.length > 0) {
-out.print(parts[parts.length-1]);
+out.print(HtmlQuoting.quoteHtmlChars(parts[parts.length-1]));
   }
 }
 catch (UnsupportedEncodingException ex) {
@@ -410,16 +410,16 @@ public class JspHelper {
String nnAddress) throws IOException {
 out.print("");
 out.print("Goto : ");
-out.print("");
-out.print("");
+out.print("");
+out.print("");
 out.print("");
++ "value=\"" + namenodeInfoPort  + "\"/>");
 if (UserGroupInformation.isSecurityEnabled()) {
   out.print("");
+  + "\" type=\"hidden\" value=\"" + tokenString + "\"/>");
 }
 out.print("");
++ "value=\"" + nnAddress  + "\"/>");
 out.print("");
   }
   

Modified: 
hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/DatanodeJspHelper.java
URL: 
http://svn.apache.org/viewvc/hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/DatanodeJspHelper.java?rev=1407557&r1=1407556&r2=1407557&view=diff
==
--- 
hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/DatanodeJspHelper.java
 (original)
+++ 
hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/DatanodeJspHelper.java
 Fri Nov  9 17:44:29 2012
@@ -43,6 +43,7 @@ import org.apache.hadoop.hdfs.protocol.L
 import org.apache.hadoop.hdfs.security.token.block.BlockTokenIdentifier;
 import org.apache.hadoop.hdfs.security.token.block.BlockTokenSecretManager;
 import org.apache.hadoop.hdfs.server.common.JspHelper;
+import org.apache.hadoop.http.HtmlQuoting;
 import org.apache.hadoop.http.HttpConfig;
 import org.apache.hadoop.net.NetUtils;
 import org.apache.hadoop.security.UserGroupInformation;
@@ -119,7 +120,7 @@ public class DatanodeJspHelper {
 String target = dir;
 final HdfsFileStatus targetStatus = dfs.getFileInfo(target);
 if (targetStatus == null) { // not exists
-  out.print("File or directory : " + target + " does not exist");
+  out.print("File or directory : " + 
StringEscapeUtils.escapeHtml(target) + " does not exist");
   JspHelper.p

svn commit: r1407556 - in /hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs: ./ src/main/java/org/apache/hadoop/hdfs/server/common/ src/main/java/org/apache/hadoop/hdfs/server/datanode/ src/test/ja

2012-11-09 Thread suresh
Author: suresh
Date: Fri Nov  9 17:39:20 2012
New Revision: 1407556

URL: http://svn.apache.org/viewvc?rev=1407556&view=rev
Log:
HDFS-4162. Some malformed and unquoted HTML strings are returned from datanode 
web ui. Contributed by Darek Dagit.

Modified:
hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt

hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/common/JspHelper.java

hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/DatanodeJspHelper.java

hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/common/TestJspHelper.java

Modified: hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt?rev=1407556&r1=1407555&r2=1407556&view=diff
==
--- hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt (original)
+++ hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt Fri Nov  9 
17:39:20 2012
@@ -574,6 +574,9 @@ Release 2.0.3-alpha - Unreleased 
 
 HDFS-3810. Implement format() for BKJM (Ivan Kelly via umamahesh)
 
+HDFS-4162. Some malformed and unquoted HTML strings are returned from 
+datanode web ui. (Darek Dagit via suresh)
+
 Release 2.0.2-alpha - 2012-09-07 
 
   INCOMPATIBLE CHANGES

Modified: 
hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/common/JspHelper.java
URL: 
http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/common/JspHelper.java?rev=1407556&r1=1407555&r2=1407556&view=diff
==
--- 
hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/common/JspHelper.java
 (original)
+++ 
hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/common/JspHelper.java
 Fri Nov  9 17:39:20 2012
@@ -408,15 +408,15 @@ public class JspHelper {
 if (!parts[i].equals("")) {
   tempPath.append(parts[i]);
   out.print("" + parts[i] + "" + Path.SEPARATOR);
+  out.print("\">" + HtmlQuoting.quoteHtmlChars(parts[i]) + "" + 
Path.SEPARATOR);
   tempPath.append(Path.SEPARATOR);
 }
   }
   if(parts.length > 0) {
-out.print(parts[parts.length-1]);
+out.print(HtmlQuoting.quoteHtmlChars(parts[parts.length-1]));
   }
 }
 catch (UnsupportedEncodingException ex) {
@@ -431,16 +431,16 @@ public class JspHelper {
String nnAddress) throws IOException {
 out.print("");
 out.print("Goto : ");
-out.print("");
-out.print("");
+out.print("");
+out.print("");
 out.print("");
++ "value=\"" + namenodeInfoPort  + "\"/>");
 if (UserGroupInformation.isSecurityEnabled()) {
   out.print("");
+  + "\" type=\"hidden\" value=\"" + tokenString + "\"/>");
 }
 out.print("");
++ "value=\"" + nnAddress  + "\"/>");
 out.print("");
   }
   

Modified: 
hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/DatanodeJspHelper.java
URL: 
http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/DatanodeJspHelper.java?rev=1407556&r1=1407555&r2=1407556&view=diff
==
--- 
hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/DatanodeJspHelper.java
 (original)
+++ 
hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/DatanodeJspHelper.java
 Fri Nov  9 17:39:20 2012
@@ -43,6 +43,7 @@ import org.apache.hadoop.hdfs.protocol.L
 import org.apache.hadoop.hdfs.security.token.block.BlockTokenIdentifier;
 import org.apache.hadoop.hdfs.security.token.block.BlockTokenSecretManager;
 import org.apache.hadoop.hdfs.server.common.JspHelper;
+import org.apache.hadoop.http.HtmlQuoting;
 import org.apache.hadoop.http.HttpConfig;
 import org.apache.hadoop.net.NetUtils;
 import org.apache.hadoop.security.UserGroupInformation;
@@ -119,7 +120,7 @@ public class DatanodeJspHelper {
 String target = dir;
 final HdfsFileStatus targetStatus = dfs.getFileInfo(target);
 if (targetStatus == null) { // not exists
-  out.print("File or directory : " + target + " does not exist");
+  out.print("File or directory : " + 
StringEscapeUtils.escapeHtml(target) + " does not exist");
   JspHelper.printGotoForm(out, namenodeInfoPort, tokenString, target,
   nnAddr);
 } else {
@@ -203,7 +204,7 @@ public class DatanodeJspHelper {