hadoop-hdfs-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jing Zhao (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (HDFS-5590) Sequential block ID may cause data loss when persistBlocks is set to false
Date Mon, 02 Dec 2013 20:10:36 GMT

     [ https://issues.apache.org/jira/browse/HDFS-5590?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Jing Zhao updated HDFS-5590:
----------------------------

    Description: 
In a cluster with non-HA setup and dfs.persist.blocks set to false, the current sequential
block ID mechanism may cause data loss in the following case:

# client creates file1 and requests a block from NN and get blk_id1_gs1
# client writes blk_id1_gs1 to DN
# NN is restarted and because persistBlocks is false, blk_id1_gs1 may not be persisted in
disk
# another client creates file2 and NN will allocate a new block using the same block id blk_id1_gs1
since block ID and generation stamp are both increased sequentially.

Now we may have two versions (file1 and file2) of the blk_id1_gs1 (same id, same gs) in the
system. It will case data loss.

  was:
In a cluster with non-HA setup and dfs.persist.blocks set to false, the current sequential
block ID mechanism may cause data loss in the following case:

# client creates file1 and requests a block from NN and get blk_id1_gs1
# client writes blk_id1_gs1 to DN
# NN is restarted and because persistBlocks is false, blk_id1_gs1 is not persisted in editlog
# another client creates file2 and NN will allocate a new block using the same block id blk_id1_gs1
since block ID and generation stamp are both increased sequentially.

Now we may have two versions (file1 and file2) of the blk_id1_gs1 (same id, same gs) in the
system. It will case data loss.


> Sequential block ID may cause data loss when persistBlocks is set to false
> --------------------------------------------------------------------------
>
>                 Key: HDFS-5590
>                 URL: https://issues.apache.org/jira/browse/HDFS-5590
>             Project: Hadoop HDFS
>          Issue Type: Bug
>    Affects Versions: 2.2.0
>            Reporter: Jing Zhao
>            Assignee: Jing Zhao
>
> In a cluster with non-HA setup and dfs.persist.blocks set to false, the current sequential
block ID mechanism may cause data loss in the following case:
> # client creates file1 and requests a block from NN and get blk_id1_gs1
> # client writes blk_id1_gs1 to DN
> # NN is restarted and because persistBlocks is false, blk_id1_gs1 may not be persisted
in disk
> # another client creates file2 and NN will allocate a new block using the same block
id blk_id1_gs1 since block ID and generation stamp are both increased sequentially.
> Now we may have two versions (file1 and file2) of the blk_id1_gs1 (same id, same gs)
in the system. It will case data loss.



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

Mime
View raw message