hadoop-hdfs-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Konstantin Shvachko (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 Fri, 22 Apr 2016 20:58:13 GMT

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

Konstantin Shvachko commented on HDFS-10301:
--------------------------------------------

Hey [~walter.k.su], sorry let me rephrase my wording.
Your patch "eliminates" current behavior, but it doesn't directly address the "implementation
bug" in zombie storage detection.
So your patch is correct and you did solve the problem, but indirectly, by reordering reports
from the same RPC into a contiguous segment, which in a sense validates the zombie storage
bug.
Also you add a stronger requirement for block report processing, that the entire block-report-PRCs
must be processed in the order they are received, vs. current requirement that individual
storage reports must be processed in the order received. The latter allows interleaving, while
yours does not, and your unit test enforces the new order. I am in favor of weaker requirements
when possible.
Hope this makes more sense.


> 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: Colin Patrick McCabe
>            Priority: Critical
>         Attachments: HDFS-10301.002.patch, HDFS-10301.003.patch, HDFS-10301.01.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)

Mime
View raw message