瀏覽代碼

HDFS-8806. Inconsistent metrics: number of missing blocks with replication factor 1 not properly cleared. Contributed by Zhe Zhang.

(cherry picked from commit 206d4933a567147b62f463c2daa3d063ad40822b)
(cherry picked from commit b2a532f61c011dacbda1c9b173d1df126ff8809f)
Akira Ajisaka 10 年之前
父節點
當前提交
b919c1c044

+ 4 - 1
hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt

@@ -19,7 +19,10 @@ Release 2.7.2 - UNRELEASED
     HDFS-6945. BlockManager should remove a block from excessReplicateMap and
     decrement ExcessBlocks metric when the block is removed. (aajisaka)
 
-Release 2.7.1 - 2015-07-06 
+    HDFS-8806. Inconsistent metrics: number of missing blocks with replication
+    factor 1 not properly cleared. (Zhe Zhang via aajisaka)
+
+Release 2.7.1 - 2015-07-06
 
   INCOMPATIBLE CHANGES
 

+ 2 - 1
hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/UnderReplicatedBlocks.java

@@ -101,10 +101,11 @@ class UnderReplicatedBlocks implements Iterable<Block> {
   /**
    * Empty the queues.
    */
-  void clear() {
+  synchronized void clear() {
     for (int i = 0; i < LEVEL; i++) {
       priorityQueues.get(i).clear();
     }
+    corruptReplOneBlocks = 0;
   }
 
   /** Return the total number of under replication blocks */