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

Vinay updated HDFS-5723:
------------------------

    Description: 
Scenario:
1. 3 node cluster with 
dfs.client.block.write.replace-datanode-on-failure.enable set to false.
2. One file is written with 3 replicas, blk_id_gs1
3. One of the datanode DN1 is down.
4. File was opened with append and some more data is added to the file and 
synced. (to only 2 live nodes DN2 and DN3)-- blk_id_gs2
5. Now  DN1 restarted
6. In this block report, DN1 reported FINALIZED block blk_id_gs1, this should 
be marked corrupted.
but since NN having appended block state as UnderConstruction, at this time its 
not detecting this block as corrupt and adding to valid block locations.

As long as the namenode is alive, this datanode also will be considered as 
valid replica and read/append will fail in that datanode.

  was:
Scenario:
1. 3 node cluster with 
dfs.client.block.write.replace-datanode-on-failure.enable set to false.
2. One file is written with 3 replicas, blk_id_gs1
3. One of the datanode DN1 is down.
4. File was opened with append and some more data is added to the file and 
synced. (to only 2 live nodes DN2 and DN3)-- blk_id_gs2
5. Now  DN1 restarted
6. In this block report, DN1 reported FINALIZED block blk_id_gs1, this should 
be made marked corrupted.
but since NN having appended block state as UnderConstruction, at this time its 
not detecting this block as corrupt and adding to valid block locations.

As long as the namenode is alive, this datanode also will be considered as 
valid replica and read/append will fail in that datanode.


> Append failed FINALIZED replica should not be accepted as valid when that 
> block is underconstruction
> ----------------------------------------------------------------------------------------------------
>
>                 Key: HDFS-5723
>                 URL: https://issues.apache.org/jira/browse/HDFS-5723
>             Project: Hadoop HDFS
>          Issue Type: Bug
>          Components: namenode
>    Affects Versions: 2.2.0
>            Reporter: Vinay
>
> Scenario:
> 1. 3 node cluster with 
> dfs.client.block.write.replace-datanode-on-failure.enable set to false.
> 2. One file is written with 3 replicas, blk_id_gs1
> 3. One of the datanode DN1 is down.
> 4. File was opened with append and some more data is added to the file and 
> synced. (to only 2 live nodes DN2 and DN3)-- blk_id_gs2
> 5. Now  DN1 restarted
> 6. In this block report, DN1 reported FINALIZED block blk_id_gs1, this should 
> be marked corrupted.
> but since NN having appended block state as UnderConstruction, at this time 
> its not detecting this block as corrupt and adding to valid block locations.
> As long as the namenode is alive, this datanode also will be considered as 
> valid replica and read/append will fail in that datanode.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Reply via email to