Bläddra i källkod

HDFS-3961. FSEditLog preallocate() preallocated more than 1MB. Contributed by Jing Zhoa.

git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/branches/branch-1@1388184 13f79535-47bb-0310-9956-ffa450edef68
Suresh Srinivas 13 år sedan
förälder
incheckning
2cb4d756b1
2 ändrade filer med 4 tillägg och 1 borttagningar
  1. 3 0
      CHANGES.txt
  2. 1 1
      src/hdfs/org/apache/hadoop/hdfs/server/namenode/FSEditLog.java

+ 3 - 0
CHANGES.txt

@@ -565,6 +565,9 @@ Release 1.1.0 - unreleased
     HDFS-3466. Get HTTP kerberos principal from the web authentication keytab.
     (omalley)
 
+    HDFS-3961. FSEditLog preallocate() preallocated more than 1MB. (Jing Zhoa
+    via suresh)
+
 Release 1.0.4 - Unreleased
 
   NEW FEATURES

+ 1 - 1
src/hdfs/org/apache/hadoop/hdfs/server/namenode/FSEditLog.java

@@ -265,8 +265,8 @@ public class FSEditLog {
       long oldSize = size;
       long total = 0;
       long fillCapacity = PREALLOCATION_BUFFER.capacity();
-      PREALLOCATION_BUFFER.position(0);
       while (need > 0) {
+        PREALLOCATION_BUFFER.position(0);
         do {
           size += fc.write(PREALLOCATION_BUFFER, size);
         } while (PREALLOCATION_BUFFER.remaining() > 0);