From 496144158443078f5fc7c8930d971601f2b08dff Mon Sep 17 00:00:00 2001 From: Eli Collins Date: Tue, 1 Nov 2011 16:44:28 +0000 Subject: [PATCH] HDFS-2308. NamenodeProtocol.endCheckpoint is vestigial and can be removed. Contributed by Eli Collins git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@1196113 13f79535-47bb-0310-9956-ffa450edef68 --- hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt | 3 +++ .../hadoop/hdfs/server/namenode/FSImage.java | 14 ++++---------- .../hadoop/hdfs/server/namenode/FSNamesystem.java | 6 +++--- 3 files changed, 10 insertions(+), 13 deletions(-) diff --git a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt index 2c18ba304d1..6096ec31590 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt +++ b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt @@ -842,6 +842,9 @@ Release 0.23.0 - 2011-11-01 HDFS-2521. Remove custom checksum headers from data transfer protocol (todd) + HDFS-2308. NamenodeProtocol.endCheckpoint is vestigial and can be removed. + (eli) + OPTIMIZATIONS HDFS-1458. Improve checkpoint performance by avoiding unnecessary image diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSImage.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSImage.java index a6af3eb8e87..4cfb014dd53 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSImage.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSImage.java @@ -998,18 +998,12 @@ public class FSImage implements Closeable { /** * End checkpoint. *

- * Rename uploaded checkpoint to the new image; - * purge old edits file; - * rename edits.new to edits; - * redirect edit log streams to the new edits; - * update checkpoint time if the remote node is a checkpoint only node. + * Validate the current storage info with the given signature. * - * @param sig - * @param remoteNNRole - * @throws IOException + * @param sig to validate the current storage info against + * @throws IOException if the checkpoint fields are inconsistent */ - void endCheckpoint(CheckpointSignature sig, - NamenodeRole remoteNNRole) throws IOException { + void endCheckpoint(CheckpointSignature sig) throws IOException { sig.validateStorageInfo(this); } 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 dd7802f7d6d..0a42d48039e 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 @@ -3493,15 +3493,15 @@ public class FSNamesystem implements Namesystem, FSClusterStats, void endCheckpoint(NamenodeRegistration registration, CheckpointSignature sig) throws IOException { - writeLock(); + readLock(); try { if (isInSafeMode()) { throw new SafeModeException("Checkpoint not ended", safeMode); } LOG.info("End checkpoint for " + registration.getAddress()); - getFSImage().endCheckpoint(sig, registration.getRole()); + getFSImage().endCheckpoint(sig); } finally { - writeUnlock(); + readUnlock(); } }