Author: jing9
Date: Tue Feb  4 23:17:05 2014
New Revision: 1564557

URL: http://svn.apache.org/r1564557
Log:
HDFS-5884. LoadDelegator should use IOUtils.readFully() to read the magic 
header. Contributed by Haohui Mai.

Modified:
    
hadoop/common/branches/HDFS-5698/hadoop-hdfs-project/hadoop-hdfs/CHANGES_HDFS-5698.txt
    
hadoop/common/branches/HDFS-5698/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSImageFormat.java

Modified: 
hadoop/common/branches/HDFS-5698/hadoop-hdfs-project/hadoop-hdfs/CHANGES_HDFS-5698.txt
URL: 
http://svn.apache.org/viewvc/hadoop/common/branches/HDFS-5698/hadoop-hdfs-project/hadoop-hdfs/CHANGES_HDFS-5698.txt?rev=1564557&r1=1564556&r2=1564557&view=diff
==============================================================================
--- 
hadoop/common/branches/HDFS-5698/hadoop-hdfs-project/hadoop-hdfs/CHANGES_HDFS-5698.txt
 (original)
+++ 
hadoop/common/branches/HDFS-5698/hadoop-hdfs-project/hadoop-hdfs/CHANGES_HDFS-5698.txt
 Tue Feb  4 23:17:05 2014
@@ -1,6 +1,6 @@
 HDFS-5698 subtasks
 
-    HDFS-5717. Save FSImage header in protobuf. (Haohui Mai via jing9) 
+    HDFS-5717. Save FSImage header in protobuf. (Haohui Mai via jing9)
 
     HDFS-5738. Serialize INode information in protobuf. (Haohui Mai via jing9)
 
@@ -25,7 +25,7 @@ HDFS-5698 subtasks
 
     HDFS-5808. Implement cancellation when saving FSImage. (Haohui Mai via 
jing9)
 
-    HDFS-5826. Update the stored edit logs to be consistent with the changes 
in 
+    HDFS-5826. Update the stored edit logs to be consistent with the changes in
     HDFS-5698 branch. (Haohui Mai via jing9)
 
     HDFS-5797. Implement offline image viewer. (Haohui Mai via jing9)
@@ -34,3 +34,6 @@ HDFS-5698 subtasks
 
     HDFS-5871. Use PBHelper to serialize CacheDirectiveInfoExpirationProto.
     (Haohui Mai via jing9)
+
+    HDFS-5884. LoadDelegator should use IOUtils.readFully() to read the magic
+    header. (Haohui Mai via jing9)

Modified: 
hadoop/common/branches/HDFS-5698/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSImageFormat.java
URL: 
http://svn.apache.org/viewvc/hadoop/common/branches/HDFS-5698/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSImageFormat.java?rev=1564557&r1=1564556&r2=1564557&view=diff
==============================================================================
--- 
hadoop/common/branches/HDFS-5698/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSImageFormat.java
 (original)
+++ 
hadoop/common/branches/HDFS-5698/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSImageFormat.java
 Tue Feb  4 23:17:05 2014
@@ -208,12 +208,12 @@ public class FSImageFormat {
     public void load(File file) throws IOException {
       Preconditions.checkState(impl == null, "Image already loaded!");
 
-      byte[] magic = new byte[FSImageUtil.MAGIC_HEADER.length];
       FileInputStream is = null;
       try {
         is = new FileInputStream(file);
-        if (is.read(magic) == magic.length
-            && Arrays.equals(magic, FSImageUtil.MAGIC_HEADER)) {
+        byte[] magic = new byte[FSImageUtil.MAGIC_HEADER.length];
+        IOUtils.readFully(is, magic, 0, magic.length);
+        if (Arrays.equals(magic, FSImageUtil.MAGIC_HEADER)) {
           FSImageFormatProtobuf.Loader loader = new 
FSImageFormatProtobuf.Loader(
               conf, fsn);
           impl = loader;


Reply via email to