Procházet zdrojové kódy

HDFS-2280. BackupNode fails with MD5 checksum Exception. Contributed by Konstantin Shvachko.

git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/branches/branch-0.22@1165944 13f79535-47bb-0310-9956-ffa450edef68
Konstantin Shvachko před 13 roky
rodič
revize
9d5571c693

+ 2 - 0
hdfs/CHANGES.txt

@@ -619,6 +619,8 @@ Release 0.22.0 - Unreleased
     HDFS-2281. NPE in checkpoint during processIOError().
     (Uma Maheswara Rao G via shv)
 
+    HDFS-2280. BackupNode fails with MD5 checksum Exception. (shv)
+
 Release 0.21.1 - Unreleased
 
   IMPROVEMENTS

+ 3 - 0
hdfs/src/java/org/apache/hadoop/hdfs/server/namenode/BackupStorage.java

@@ -133,6 +133,7 @@ public class BackupStorage extends FSImage {
       // rename current to lastcheckpoint.tmp
       moveCurrent(sd);
     }
+    this.imageDigest = null;
   }
 
   /**
@@ -156,6 +157,8 @@ public class BackupStorage extends FSImage {
       StorageDirectory sdEdits = itEdits.next();
       getFSDirectoryRootLock().writeLock();
       try { // load image under rootDir lock
+        // make sure image checksum is verified against the expected value
+        imageDigest = sig.imageDigest; 
         loadFSImage(FSImage.getImageFile(sdName, NameNodeFile.IMAGE));
       } finally {
         getFSDirectoryRootLock().writeUnlock();