hadoop-hdfs-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Kihwal Lee (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (HDFS-5924) Utilize OOB upgrade message processing for writes
Date Thu, 13 Feb 2014 13:20:20 GMT

     [ https://issues.apache.org/jira/browse/HDFS-5924?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel

Kihwal Lee updated HDFS-5924:

    Attachment: HDFS-5924_RBW_RECOVERY.patch

The attached patch includes both client and datanode side changes.  The new/modified test
cases demonstrate the recovery and the fall-back to the regular pipeline recovery when restart
does not happen in time.

This feature does not guarantee all client writes to continue across restart. The OOB ack
is advisory and may not get delivered if network is congested or client/server is extremely
slow. Rather than blocking for delivery, the OOB transmission and shutdown times out in order
to control the upgrade latency.

Datanode sends an restart OOB ack only when the write originated from a client, not another
datanode.  The replicas are recorded in individual restart meta file along with the time stamp
indicating expiry. If datanode restart takes longer, the RBW replicas will be loaded normally
as RWR for the namenode driven block recovery. Otherwise the marked RBW replicas will be loaded
as RBW.

Because of the controlled shutdown and restart and the way pipeline recovery works, I believe
this change has no adverse effect on append recovery. 

> 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
> 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

View raw message