You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by yj...@apache.org on 2015/10/08 08:22:26 UTC
hadoop git commit: HDFS-8164. cTime is 0 in VERSION file for newly
formatted NameNode. Contributed by Xiao Chen.
Repository: hadoop
Updated Branches:
refs/heads/trunk 35affec38 -> 1107bd399
HDFS-8164. cTime is 0 in VERSION file for newly formatted NameNode. Contributed by Xiao Chen.
Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/1107bd39
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/1107bd39
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/1107bd39
Branch: refs/heads/trunk
Commit: 1107bd399c790467b22e55291c2611fd1c16e156
Parents: 35affec
Author: Yongjun Zhang <yz...@cloudera.com>
Authored: Wed Oct 7 23:20:10 2015 -0700
Committer: Yongjun Zhang <yz...@cloudera.com>
Committed: Wed Oct 7 23:20:10 2015 -0700
----------------------------------------------------------------------
hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt | 3 +++
.../hdfs/server/namenode/FSNamesystem.java | 12 +++++++++
.../hadoop/hdfs/server/namenode/NNStorage.java | 2 +-
.../hdfs/server/namenode/TestFSImage.java | 26 +++++++++++++++++++-
4 files changed, 41 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hadoop/blob/1107bd39/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
index e05a618..1116f80 100644
--- a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
+++ b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
@@ -1491,6 +1491,9 @@ Release 2.8.0 - UNRELEASED
HDFS-9170. Move libhdfs / fuse-dfs / libwebhdfs to hdfs-client. (wheat9)
+ HDFS-8164. cTime is 0 in VERSION file for newly formatted NameNode.
+ (Xiao Chen via Yongjun Zhang)
+
OPTIMIZATIONS
HDFS-8026. Trace FSOutputSummer#writeChecksumChunks rather than
http://git-wip-us.apache.org/repos/asf/hadoop/blob/1107bd39/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java
index a94b61c..a5b6c77 100644
--- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java
+++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java
@@ -1521,6 +1521,18 @@ public class FSNamesystem implements Namesystem, FSNamesystemMBean,
}
/**
+ * Get the creation time of the file system.
+ * Notice that this time is initialized to NameNode format time, and updated
+ * to upgrade time during upgrades.
+ * @return time in milliseconds.
+ * See {@link org.apache.hadoop.util.Time#now()}.
+ */
+ @VisibleForTesting
+ long getCTime() {
+ return fsImage == null ? 0 : fsImage.getStorage().getCTime();
+ }
+
+ /**
* Version of @see #getNamespaceInfo() that is not protected by a lock.
*/
NamespaceInfo unprotectedGetNamespaceInfo() {
http://git-wip-us.apache.org/repos/asf/hadoop/blob/1107bd39/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/NNStorage.java
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/NNStorage.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/NNStorage.java
index 14647f0..d872c03 100644
--- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/NNStorage.java
+++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/NNStorage.java
@@ -573,7 +573,7 @@ public class NNStorage extends Storage implements Closeable,
public static NamespaceInfo newNamespaceInfo()
throws UnknownHostException {
return new NamespaceInfo(newNamespaceID(), newClusterID(),
- newBlockPoolID(), 0L);
+ newBlockPoolID(), Time.now());
}
public void format() throws IOException {
http://git-wip-us.apache.org/repos/asf/hadoop/blob/1107bd39/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestFSImage.java
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestFSImage.java b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestFSImage.java
index e45d08d..0c7398c 100644
--- a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestFSImage.java
+++ b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestFSImage.java
@@ -62,6 +62,7 @@ import org.apache.hadoop.hdfs.server.namenode.NNStorage.NameNodeDirType;
import org.apache.hadoop.hdfs.util.MD5FileUtils;
import org.apache.hadoop.test.GenericTestUtils;
import org.apache.hadoop.test.PathUtils;
+import org.apache.hadoop.util.Time;
import org.junit.Test;
import static org.junit.Assert.assertArrayEquals;
@@ -368,7 +369,30 @@ public class TestFSImage {
}
}
}
-
+
+ /**
+ * Ensure ctime is set during namenode formatting.
+ */
+ @Test(timeout=60000)
+ public void testCtime() throws Exception {
+ Configuration conf = new Configuration();
+ MiniDFSCluster cluster = null;
+ try {
+ final long pre = Time.now();
+ cluster = new MiniDFSCluster.Builder(conf).numDataNodes(1).build();
+ cluster.waitActive();
+ final long post = Time.now();
+ final long ctime = cluster.getNamesystem().getCTime();
+
+ assertTrue(pre <= ctime);
+ assertTrue(ctime <= post);
+ } finally {
+ if (cluster != null) {
+ cluster.shutdown();
+ }
+ }
+ }
+
/**
* In this test case, I have created an image with a file having
* preferredblockSize = 0. We are trying to read this image (since file with