[ https://issues.apache.org/jira/browse/HDFS-8147?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
surendra singh lilhore updated HDFS-8147: ----------------------------------------- Description: *Scenario:* 1. Three DN cluster. For DNs storage type is like this. DN1 : DISK,ARCHIVE DN2 : DISK DN3 : DISK,ARCHIVE (All DNs are in same rack) 2. One file with two replicas (In DN1 and DN2) 3. Set file storage policy COLD 4. Now execute Mover. *Expected Result:* File blocks should move in DN1:ARCHIVE and DN3:ARCHIVE *Actual Result:* {{chooseTargetInSameNode()}} move D1:DISK block to D1:ARCHIVE, but in next iteration {{chooseTarget()}} for same rake is selecting again DN1:ARCHIVE for target where already same block exists. {{chooseTargetInSameNode()}} and {{chooseTarget()}} should not select the node as target where already same replica exists. *Logs* {code} 15/04/15 10:47:17 WARN balancer.Dispatcher: Failed to move blk_1073741852_1028 with size=11990 from 10.19.92.74:50010:DISK to 10.19.92.73:50010:ARCHIVE through 10.19.92.73:50010: Got error, status message opReplaceBlock BP-1258709199-10.19.92.74-1428292615636:blk_1073741852_1028 received exception org.apache.hadoop.hdfs.server.datanode.ReplicaAlreadyExistsException: Replica FinalizedReplica, blk_1073741852_1028, FINALIZED {code} was: {code} 15/04/15 10:47:17 WARN balancer.Dispatcher: Failed to move blk_1073741852_1028 with size=11990 from 10.19.92.74:50010:DISK to 10.19.92.73:50010:ARCHIVE through 10.19.92.73:50010: Got error, status message opReplaceBlock BP-1258709199-10.19.92.74-1428292615636:blk_1073741852_1028 received exception org.apache.hadoop.hdfs.server.datanode.ReplicaAlreadyExistsException: Replica FinalizedReplica, blk_1073741852_1028, FINALIZED getNumBytes() = 11990 getBytesOnDisk() = 11990 getVisibleLength()= 11990 getVolume() = /home/hadoop/hadoop/hadoop-3.0.0/dfs/data1/current getBlockFile() = /home/hadoop/hadoop/hadoop-3.0.0/dfs/data1/current/BP-1258709199-10.19.92.74-1428292615636/current/finalized/subdir0/subdir0/blk_1073741852 unlinked =false already exists on storage ARCHIVE, block move is failed {code} Summary: Mover should not select the DN storage as target where already same replica exists. (was: Mover : Dispatcher should not set hasFailure for DDatanode when receive ReplicaAlreadyExistsException) > Mover should not select the DN storage as target where already same replica > exists. > ----------------------------------------------------------------------------------- > > Key: HDFS-8147 > URL: https://issues.apache.org/jira/browse/HDFS-8147 > Project: Hadoop HDFS > Issue Type: Bug > Components: balancer & mover > Affects Versions: 2.6.0 > Reporter: surendra singh lilhore > Assignee: surendra singh lilhore > > *Scenario:* > 1. Three DN cluster. For DNs storage type is like this. > DN1 : DISK,ARCHIVE > DN2 : DISK > DN3 : DISK,ARCHIVE (All DNs are in same rack) > 2. One file with two replicas (In DN1 and DN2) > 3. Set file storage policy COLD > 4. Now execute Mover. > *Expected Result:* File blocks should move in DN1:ARCHIVE and DN3:ARCHIVE > *Actual Result:* {{chooseTargetInSameNode()}} move D1:DISK block to > D1:ARCHIVE, but in next iteration {{chooseTarget()}} for same rake is > selecting again DN1:ARCHIVE for target where already same block exists. > {{chooseTargetInSameNode()}} and {{chooseTarget()}} should not select the > node as target where already same replica exists. > *Logs* > {code} > 15/04/15 10:47:17 WARN balancer.Dispatcher: Failed to move > blk_1073741852_1028 with size=11990 from 10.19.92.74:50010:DISK to > 10.19.92.73:50010:ARCHIVE through 10.19.92.73:50010: Got error, status > message opReplaceBlock > BP-1258709199-10.19.92.74-1428292615636:blk_1073741852_1028 received > exception > org.apache.hadoop.hdfs.server.datanode.ReplicaAlreadyExistsException: Replica > FinalizedReplica, blk_1073741852_1028, FINALIZED > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)