hadoop-common-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "dhruba borthakur (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HADOOP-5134) FSNamesystem#commitBlockSynchronization adds under-construction block locations to blocksMap
Date Wed, 11 Feb 2009 20:32:59 GMT

    [ https://issues.apache.org/jira/browse/HADOOP-5134?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12672760#action_12672760
] 

dhruba borthakur commented on HADOOP-5134:
------------------------------------------

> But how about lease recovery when lease expires?

At this time, it should be safe to update the blocksMap. Since the file still has a lease
when the replicas are added to the blocksMap (via commitBlockSync), the NN should not check/detect
corrupt replicas. 

HADOOP-5133 caused a problem because the client wrote more data to the block after the first
call to commitBlockSync(). However, when the NN triggers lease recovery, the client cannot
write any more data to the block. Thus, in this case, it is safe for the NN to insert the
replica in the blocksMap.

> FSNamesystem#commitBlockSynchronization adds under-construction block locations to blocksMap
> --------------------------------------------------------------------------------------------
>
>                 Key: HADOOP-5134
>                 URL: https://issues.apache.org/jira/browse/HADOOP-5134
>             Project: Hadoop Core
>          Issue Type: Bug
>          Components: dfs
>    Affects Versions: 0.18.2
>            Reporter: Hairong Kuang
>            Assignee: dhruba borthakur
>            Priority: Blocker
>             Fix For: 0.18.4
>
>         Attachments: commitBlockSync.patch
>
>
> From my understanding of sync/append design, an under construction block should not have
any block locations associated with it in the blocksMap. So an under construction block will
not be managed by ReplicationMonitor.
> However, if there is an error in the write pipeline, a lease recovery will trigger a
call, commitBlockSynchronization, to NN. This call will add the successfully-recovered datanodes
to blocksMap. This seems to violate the design. It should update the targets of the last block
at INode instead. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message