Ver código fonte

HDFS-9535. Newly completed blocks in IBR should not be considered under-replicated too quickly. Contributed by Mingliang Liu.

Jing Zhao 9 anos atrás
pai
commit
e534569814

+ 3 - 0
hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt

@@ -1751,6 +1751,9 @@ Release 2.8.0 - UNRELEASED
     HDFS-9514. TestDistributedFileSystem.testDFSClientPeerWriteTimeout failing;
     exception being swallowed. (Wei-Chiu Chuang via Yongjun Zhang)
 
+    HDFS-9535. Newly completed blocks in IBR should not be considered
+    under-replicated too quickly. (Mingliang Liu via jing9)
+
   OPTIMIZATIONS
 
     HDFS-8026. Trace FSOutputSummer#writeChecksumChunks rather than

+ 3 - 0
hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockManager.java

@@ -2866,6 +2866,9 @@ public class BlockManager implements BlockStatsMXBean {
 
     if(storedBlock.getBlockUCState() == BlockUCState.COMMITTED &&
         hasMinStorage(storedBlock, numLiveReplicas)) {
+      if (!bc.isStriped()) {
+        addExpectedReplicasToPending(storedBlock);
+      }
       completeBlock(storedBlock, false);
     } else if (storedBlock.isComplete() && result == AddBlockResult.ADDED) {
       // check whether safe replication is reached for the block