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

ASF GitHub Bot commented on HDFS-17732:
---------------------------------------

LiuGuH commented on PR #7414:
URL: https://github.com/apache/hadoop/pull/7414#issuecomment-2696498082

   @Hexiaoqiao @ZanderXu @tomscut  , Hello Sir ,  please reivew this PR if you 
have time . Thanks very much




> addExpectedReplicasToPending should add EC block expectedStorages in 
> PendingReconstructionBlocks
> ------------------------------------------------------------------------------------------------
>
>                 Key: HDFS-17732
>                 URL: https://issues.apache.org/jira/browse/HDFS-17732
>             Project: Hadoop HDFS
>          Issue Type: Bug
>            Reporter: liuguanghua
>            Assignee: liuguanghua
>            Priority: Major
>              Labels: pull-request-available
>
> Now when a block commit , it should add expectedStorages into 
> PendingReconstructionBlocks if the ibr is not sent from expected locations. 
> And for a ec block group , only blkStriped.getRealTotalBlockNum() == 
> expectedStorages.length will be added into PendingReconstructionBlocks.
> The problem is that a samll file with ec, it may always 
> blkStriped.getRealTotalBlockNum() < expectedStorages.length if the file size 
> < ecPolicy.getNumDataUnits()*ecPolicy.getCellSize().
> The following situations need to be considered:
> (1) A EC file with XOR-2-1-1024k,when we write lower than 1024k into the 
> file,close it.
> (2) Now The file has only one ec block group, indics=(0,1,2) and suppose only 
> 0 replica ibr is received and 2 replica ibr is delayed. The ec block group 
> reaches minstorage and commit .
> (3) When block group commit , blkStriped.getRealTotalBlockNum()=1 
> expectedStorages.length=3 , so it can not add this ec block group 
> expectedStorages into PendingReconstructionBlocks.
> (4) The ec block group complete and only has minstorage and the the namenode 
> generates ec reconstruncation task to datanode.
> (5) The 2 replicas ibr is recived.
> (6) Datanode reconstruction task finished and ibr sends.
> (7) (5) and (6) may in a same datanode
> For other ec policy, in (7) , on a same datanode will has two different ec 
> block indic. For ec this is not expected and if it happens , in namenode will 
> be AddBlockResult.REPLACED replaced the former ibr. And it maybe increases 
> the ec reconstruncation task again.
>  
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
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