[ 
https://issues.apache.org/jira/browse/HDFS-5924?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13908970#comment-13908970
 ] 

Brandon Li commented on HDFS-5924:
----------------------------------

With some more thinking, I feel pause-datanode-shutdown might not be a 
generally better approach since it can have unbounded upgrade time along with 
more complicated communication between client and datanode (e.g., may require 
multiple repeated OOB at different pipeline phases). 

Read failure can still happen regardless how write is handled during datanode 
upgrade. Selectively shutting down datanode for upgrade (e.g., randomly one by 
one instead of rack by rack) might help reduce the I/O failure.
 

> Utilize OOB upgrade message processing for writes
> -------------------------------------------------
>
>                 Key: HDFS-5924
>                 URL: https://issues.apache.org/jira/browse/HDFS-5924
>             Project: Hadoop HDFS
>          Issue Type: Sub-task
>          Components: datanode, ha, hdfs-client, namenode
>            Reporter: Kihwal Lee
>            Assignee: Kihwal Lee
>         Attachments: HDFS-5924_RBW_RECOVERY.patch, 
> HDFS-5924_RBW_RECOVERY.patch
>
>
> After HDFS-5585 and HDFS-5583, clients and datanodes can coordinate 
> shutdown-restart in order to minimize failures or locality loss.
> In this jira, HDFS client is made aware of the restart OOB ack and perform 
> special write pipeline recovery. Datanode is also modified to load marked RBW 
> replicas as RBW instead of RWR as long as the restart did not take long. 
> For clients, it considers doing this kind of recovery only when there is only 
> one node left in the pipeline or the restarting node is a local datanode.  
> For both clients and datanodes, the timeout or expiration is configurable, 
> meaning this feature can be turned off by setting timeout variables to 0.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Reply via email to