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

Uma Maheswara Rao G commented on HDFS-3119:
-------------------------------------------

Replication is not per block. This is per file configuration.
Also we will persist the replication factor in edits. So, looks this 
setTeplication will get applied properly only for completed blocks.
But for the in-complete blocks, there won't be any blocks updated in blocksMap. 
So, nonExcess nodes would be 0. So, it can't remove any nodes at the moment.

I am not sure whether we are checking for the replication count while 
completing the block. 

If we really need this to work, 
1) one way is to check the replication consistency while completing the block 
as new replication already persisted.

(Or)

2)  completely we can restrict setReplication call for non-closed files?

 blockreport also may not detect this case.

Let me recheck again if I am missing something.
                
> Overreplicated block is not deleted even after the replication factor is 
> reduced after sync follwed by closing that file
> ------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HDFS-3119
>                 URL: https://issues.apache.org/jira/browse/HDFS-3119
>             Project: Hadoop HDFS
>          Issue Type: Bug
>          Components: name-node
>    Affects Versions: 0.24.0
>            Reporter: J.Andreina
>            Priority: Minor
>             Fix For: 0.24.0, 0.23.2
>
>
> cluster setup:
> --------------
> 1NN,2 DN,replication factor 2,block report interval 3sec ,block size-256MB
> step1: write a file "filewrite.txt" of size 90bytes with sync(not closed) 
> step2: change the replication factor to 1  using the command: "./hdfs dfs 
> -setrep 1 /filewrite.txt"
> step3: close the file
> * At the NN side the file "Decreasing replication from 2 to 1 for 
> /filewrite.txt" , logs has occured but the overreplicated blocks are not 
> deleted even after the block report is sent from DN
> * while listing the file in the console using "./hdfs dfs -ls " the 
> replication factor for that file is mentioned as 1
> * In fsck report for that files displays that the file is replicated to 2 
> datanodes

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to