hadoop-hdfs-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Uma Maheswara Rao G (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HDFS-5014) BPOfferService#processCommandFromActor() synchronization on namenode RPC call delays IBR to Active NN, if Stanby NN is unstable
Date Wed, 20 Nov 2013 01:46:18 GMT

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

Uma Maheswara Rao G commented on HDFS-5014:
-------------------------------------------

I think it can happen here (I guess).
{code}
DatanodeCommand cmd = blockReport();
 processCommand(new DatanodeCommand[]{ cmd });
{code}
We can check null here itself. But That's ok I think. Let me check the latest patch.

> BPOfferService#processCommandFromActor() synchronization on namenode RPC call delays
IBR to Active NN, if Stanby NN is unstable
> -------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HDFS-5014
>                 URL: https://issues.apache.org/jira/browse/HDFS-5014
>             Project: Hadoop HDFS
>          Issue Type: Bug
>          Components: datanode, ha
>    Affects Versions: 3.0.0, 2.0.4-alpha
>            Reporter: Vinay
>            Assignee: Vinay
>         Attachments: HDFS-5014-v2.patch, HDFS-5014-v2.patch, HDFS-5014-v2.patch, HDFS-5014-v2.patch,
HDFS-5014-v2.patch, HDFS-5014.patch, HDFS-5014.patch, HDFS-5014.patch, HDFS-5014.patch, HDFS-5014.patch,
HDFS-5014.patch, HDFS-5014.patch
>
>
> In one of our cluster, following has happened which failed HDFS write.
> 1. Standby NN was unstable and continously restarting due to some errors. But Active
NN was stable.
> 2. MR Job was writing files.
> 3. At some point SNN went down again while datanode processing the REGISTER command for
SNN. 
> 4. Datanodes started retrying to connect to SNN to register at the following code  in
BPServiceActor#retrieveNamespaceInfo() which will be called under synchronization.
> {code}      try {
>         nsInfo = bpNamenode.versionRequest();
>         LOG.debug(this + " received versionRequest response: " + nsInfo);
>         break;{code}
> Unfortunately in all datanodes at same point this happened.
> 5. For next 7-8 min standby was down, and no blocks were reported to active NN at this
point and writes have failed.
> So culprit is {{BPOfferService#processCommandFromActor()}} is completely synchronized
which is not required.



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Mime
View raw message