hadoop-hdfs-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Vinitha Reddy Gankidi (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HDFS-10301) BlockReport retransmissions may lead to storages falsely being declared zombie if storage report processing happens out of order
Date Tue, 24 May 2016 02:48:13 GMT

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

Vinitha Reddy Gankidi commented on HDFS-10301:
----------------------------------------------

I uploaded the patch HDFS-10301.004.patch. I have implemented the idea that Konstantin suggested,
i.e, DNs explicitly report storages that they have. This eliminates NN guessing which storage
is the last in the block report RPC. In the case of FBR, NameNodeRPCServer can retrieve the
list of storages from the storage block report array. In the case that block reports are split,
DNs send an additional StorageReportOnly RPC after sending the block reports for each individual
storage. This StorageReportOnly RPC is sent as a FBR. This rpc contains all the storages that
the DN has with -1 number of blocks. A new enum STORAGE_REPORT_ONLY is introduced in BlockListsAsLong
for this purpose.

Zombie storage removal is triggered from the NameNodeRPCServer instead of the BlockManager
since the RPCServer now has all the information required to construct the list of storages
that the DN is reporting. After processing the block reports as usual, zombie storages are
removed by comparing the list of storages in the block report and the list of storages that
the NN is aware of for that DN.



> BlockReport retransmissions may lead to storages falsely being declared zombie if storage
report processing happens out of order
> --------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HDFS-10301
>                 URL: https://issues.apache.org/jira/browse/HDFS-10301
>             Project: Hadoop HDFS
>          Issue Type: Bug
>          Components: namenode
>    Affects Versions: 2.6.1
>            Reporter: Konstantin Shvachko
>            Assignee: Vinitha Reddy Gankidi
>            Priority: Critical
>         Attachments: HDFS-10301.002.patch, HDFS-10301.003.patch, HDFS-10301.004.patch,
HDFS-10301.01.patch, HDFS-10301.sample.patch, zombieStorageLogs.rtf
>
>
> When NameNode is busy a DataNode can timeout sending a block report. Then it sends the
block report again. Then NameNode while process these two reports at the same time can interleave
processing storages from different reports. This screws up the blockReportId field, which
makes NameNode think that some storages are zombie. Replicas from zombie storages are immediately
removed, causing missing blocks.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: hdfs-issues-unsubscribe@hadoop.apache.org
For additional commands, e-mail: hdfs-issues-help@hadoop.apache.org


Mime
View raw message