jojochuang commented on a change in pull request #3247:
URL: https://github.com/apache/hadoop/pull/3247#discussion_r679795972



##########
File path: 
hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/DataStreamer.java
##########
@@ -1386,19 +1386,11 @@ private void addDatanode2ExistingPipeline() throws 
IOException {
        * Case 2: Failure in Streaming
        * - Append/Create:
        *    + transfer RBW
-       *
-       * Case 3: Failure in Close
-       * - Append/Create:
-       *    + no transfer, let NameNode replicates the block.
        */
     if (!isAppend && lastAckedSeqno < 0
         && stage == BlockConstructionStage.PIPELINE_SETUP_CREATE) {
       //no data have been written
       return;
-    } else if (stage == BlockConstructionStage.PIPELINE_CLOSE

Review comment:
       the stage is in PIPELINE_CLOSE state when when packet is the last in the 
block and all transferred data is acknowledged.
   
   with this change, the re-replication which was triggered by NameNode block 
manager periodically, is moved to client side.
   
   it looks fine to me. but HDFS re replication logic is complex. We should 
validate it with a test.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: common-issues-unsubscr...@hadoop.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: common-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: common-issues-h...@hadoop.apache.org

Reply via email to