Author: dhruba
Date: Fri May 7 05:33:00 2010
New Revision: 942003
URL: http://svn.apache.org/viewvc?rev=942003&view=rev
Log:
HDFS-1028. Efficient splitting of path components reduces the time
to load in fsimage by 20%. (Dmytro Molkov via dhruba)
Modified:
hadoop/hdfs/trunk/CHANGES.txt
hadoop/hdfs/trunk/src/java/org/apache/hadoop/hdfs/server/namenode/INode.java
Modified: hadoop/hdfs/trunk/CHANGES.txt
URL:
http://svn.apache.org/viewvc/hadoop/hdfs/trunk/CHANGES.txt?rev=942003&r1=942002&r2=942003&view=diff
==============================================================================
--- hadoop/hdfs/trunk/CHANGES.txt (original)
+++ hadoop/hdfs/trunk/CHANGES.txt Fri May 7 05:33:00 2010
@@ -499,6 +499,9 @@ Release 0.21.0 - Unreleased
HDFS-1089. Remove uses of FileContext#isFile, isDirectory, and exists.
(Eli Collins via hairong)
+ HDFS-1028. Efficient splitting of path components reduces the time
+ to load in fsimage by 20%. (Dmytro Molkov via dhruba)
+
OPTIMIZATIONS
HDFS-946. NameNode should not return full path name when lisitng a
Modified:
hadoop/hdfs/trunk/src/java/org/apache/hadoop/hdfs/server/namenode/INode.java
URL:
http://svn.apache.org/viewvc/hadoop/hdfs/trunk/src/java/org/apache/hadoop/hdfs/server/namenode/INode.java?rev=942003&r1=942002&r2=942003&view=diff
==============================================================================
---
hadoop/hdfs/trunk/src/java/org/apache/hadoop/hdfs/server/namenode/INode.java
(original)
+++
hadoop/hdfs/trunk/src/java/org/apache/hadoop/hdfs/server/namenode/INode.java
Fri May 7 05:33:00 2010
@@ -25,6 +25,7 @@ import org.apache.hadoop.fs.ContentSumma
import org.apache.hadoop.fs.permission.*;
import org.apache.hadoop.hdfs.DFSUtil;
import org.apache.hadoop.hdfs.protocol.Block;
+import org.apache.hadoop.util.StringUtils;
/**
* We keep an in-memory representation of the file/block hierarchy.
@@ -357,7 +358,7 @@ abstract class INode implements Comparab
if (path == null || !path.startsWith(Path.SEPARATOR)) {
throw new AssertionError("Absolute path required");
}
- return path.split(Path.SEPARATOR);
+ return StringUtils.split(path, Path.SEPARATOR_CHAR);
}
/**