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

Surendra Singh Lilhore commented on HDFS-11726:
-----------------------------------------------

I got the root cause for this.

SPS first give the preference to the local DN. If expected storage type is not 
exist in source dn then it will select remote DN. We missed one check in 
StoragePolicySatisfier#findSourceAndTargetToMove(). If replica with expected 
storage type already exist in source DN then we should skip that DN.
For example:

Expected storage is : ARCHIVE
Source DN with storage : DN1(ARCHIVE), DN2(DISK).

We should not select DN1 for block movement because here already replica is 
exist in ARCHIVE.



> [SPS] : StoragePolicySatisfier should not select same storage type as source 
> and destination in same datanode.
> --------------------------------------------------------------------------------------------------------------
>
>                 Key: HDFS-11726
>                 URL: https://issues.apache.org/jira/browse/HDFS-11726
>             Project: Hadoop HDFS
>          Issue Type: Sub-task
>          Components: namenode
>    Affects Versions: HDFS-10285
>            Reporter: Surendra Singh Lilhore
>            Assignee: Surendra Singh Lilhore
>
> {code}
> 2017-04-30 16:12:28,569 [BlockMoverTask-0] INFO  
> datanode.StoragePolicySatisfyWorker (Worker.java:moveBlock(248)) - Start 
> moving block:blk_1073741826_1002 from src:127.0.0.1:41699 to 
> destin:127.0.0.1:41699 to satisfy storageType, sourceStoragetype:ARCHIVE and 
> destinStoragetype:ARCHIVE
> {code}
> {code}
> 2017-04-30 16:12:28,571 [DataXceiver for client /127.0.0.1:36428 [Replacing 
> block BP-1409501412-127.0.1.1-1493548923222:blk_1073741826_1002 from 
> 6c7aa66e-a778-43d5-89f6-053d5f6b35bc]] INFO  datanode.DataNode 
> (DataXceiver.java:replaceBlock(1202)) - opReplaceBlock 
> BP-1409501412-127.0.1.1-1493548923222:blk_1073741826_1002 received exception 
> org.apache.hadoop.hdfs.server.datanode.ReplicaAlreadyExistsException: Replica 
> FinalizedReplica, blk_1073741826_1002, FINALIZED
>   getNumBytes()     = 1024
>   getBytesOnDisk()  = 1024
>   getVisibleLength()= 1024
>   getVolume()       = 
> /home/sachin/software/hadoop/HDFS-10285/hadoop/hadoop-hdfs-project/hadoop-hdfs/target/test/data/dfs/data/data7
>   getBlockURI()     = 
> file:/home/sachin/software/hadoop/HDFS-10285/hadoop/hadoop-hdfs-project/hadoop-hdfs/target/test/data/dfs/data/data7/current/BP-1409501412-127.0.1.1-1493548923222/current/finalized/subdir0/subdir0/blk_1073741826
>  already exists on storage ARCHIVE
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

---------------------------------------------------------------------
To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org

Reply via email to