[
https://issues.apache.org/jira/browse/HDFS-8486?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14561250#comment-14561250
]
Daryn Sharp commented on HDFS-8486:
-----------------------------------
A subtle reordering of method invocation appears to be the source of the bug.
> DN startup may cause severe data loss
> -------------------------------------
>
> Key: HDFS-8486
> URL: https://issues.apache.org/jira/browse/HDFS-8486
> Project: Hadoop HDFS
> Issue Type: Bug
> Components: datanode
> Affects Versions: 0.23.1, 2.0.0-alpha
> Reporter: Daryn Sharp
> Assignee: Daryn Sharp
> Priority: Blocker
>
> A race condition between block pool initialization and the directory scanner
> may cause a mass deletion of blocks in multiple storages.
> If block pool initialization finds a block on disk that is already in the
> replica map, it deletes one of the blocks based on size, GS, etc.
> Unfortunately it _always_ deletes one of the blocks even if identical, thus
> the replica map _must_ be empty when the pool is initialized.
> The directory scanner starts at a random time within its periodic interval
> (default 6h). If the scanner starts very early it races to populate the
> replica map, causing the block pool init to erroneously delete blocks.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)