hadoop-hdfs-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Charles Lamb (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HDFS-7704) DN heartbeat to Active NN may be blocked and expire if connection to Standby NN continues to time out.
Date Mon, 02 Feb 2015 20:13:36 GMT

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

Charles Lamb commented on HDFS-7704:

Hi [~shahrs87],

I don't understand why you create the BPServiceActorAction class with subtypes (ErrorReportAction
and ReportBadBlockAction) and then not do a method dispatch on the class. Instead you're using
an enum and case to do the dispatch. This seems rather un-OO-like, no?

Other nits:


      ErrorReportAction errorReportAction = new ErrorReportAction
        (BPServiceActorAction.ActionEnum.TRYSENDERRORREPORT,errCode, errMsg);

Needs a space before "errCode".


s/synchronized(/synchronized (/
s/switch(/switch (/


s/BPServiceActorAction{/BPServiceActorAction {/


s/BPServiceActorAction{/BPServiceActorAction {/


> DN heartbeat to Active NN may be blocked and expire if connection to Standby NN continues
to time out. 
> -------------------------------------------------------------------------------------------------------
>                 Key: HDFS-7704
>                 URL: https://issues.apache.org/jira/browse/HDFS-7704
>             Project: Hadoop HDFS
>          Issue Type: Bug
>          Components: datanode, namenode
>    Affects Versions: 2.5.0
>            Reporter: Rushabh S Shah
>            Assignee: Rushabh S Shah
>         Attachments: HDFS-7704-v2.patch, HDFS-7704.patch
> There are couple of synchronous calls in BPOfferservice (i.e reportBadBlocks and trySendErrorReport)
which will wait for both of the actor threads to process this calls.
> This calls are made with writeLock acquired.
> When reportBadBlocks() is blocked at the RPC layer due to unreachable NN, subsequent
heartbeat response processing has to wait for the write lock. It eventually gets through,
but takes too long and it blocks the next heartbeat.
> In our HA cluster setup, the standby namenode was taking a long time to process the request.
> Requesting improvement in datanode to make the above calls asynchronous since these reports
don't have any specific
> deadlines, so extra few seconds of delay should be acceptable.

This message was sent by Atlassian JIRA

View raw message