HDFS-11648. Lazy construct the IIP pathname. Contributed by Daryn Sharp.
Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/88cf9b9a Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/88cf9b9a Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/88cf9b9a Branch: refs/heads/HDFS-10467 Commit: 88cf9b9a715b7d38e7b140912b1ddb82bfd81a4d Parents: 5b2e824 Author: Kihwal Lee <[email protected]> Authored: Wed Apr 12 13:29:24 2017 -0500 Committer: Inigo <[email protected]> Committed: Mon Apr 17 11:17:02 2017 -0700 ---------------------------------------------------------------------- .../org/apache/hadoop/hdfs/server/namenode/INodesInPath.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/88cf9b9a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/INodesInPath.java ---------------------------------------------------------------------- diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/INodesInPath.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/INodesInPath.java index b37321d..1d5dbf6 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/INodesInPath.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/INodesInPath.java @@ -238,7 +238,7 @@ public class INodesInPath { } private final byte[][] path; - private final String pathname; + private volatile String pathname; /** * Array with the specified number of INodes resolved for a given path. @@ -268,7 +268,6 @@ public class INodesInPath { Preconditions.checkArgument(inodes != null && path != null); this.inodes = inodes; this.path = path; - this.pathname = DFSUtil.byteArray2PathString(path); this.isRaw = isRaw; this.isSnapshot = isSnapshot; this.snapshotId = snapshotId; @@ -329,6 +328,9 @@ public class INodesInPath { /** @return the full path in string form */ public String getPath() { + if (pathname == null) { + pathname = DFSUtil.byteArray2PathString(path); + } return pathname; } --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
