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

Virajith Jalaparti commented on HDFS-12942:
-------------------------------------------

bq. While cleaning up the new replica on failure, we call 
volume.onBlockFileDeletion which decrements the space used for the block on the 
new target volume. However I am not sure that the space used was incremented in 
the first place by copyReplicaToVolume. This may be a pre-existing bug actually.

Looks like this has been introduced by this patch as the original code was 
cleaning up the old replica (whose space would have been accounted for when it 
was finalized), and didn't handle the clean up of the temporary replica. So, 
this needs to be fixed.

Adding to this, in patch v4, the generation stamp check in {{finalizeReplica}} 
is done after a call to {{v.addFinalizedBlock}} which seems wasted work if the 
check doesn't pass. Can the generation stamp check be done before the call to 
{{v.addFinalizedBlock}}?

> Synchronization issue in FSDataSetImpl#moveBlock
> ------------------------------------------------
>
>                 Key: HDFS-12942
>                 URL: https://issues.apache.org/jira/browse/HDFS-12942
>             Project: Hadoop HDFS
>          Issue Type: Bug
>            Reporter: Ajay Kumar
>            Assignee: Ajay Kumar
>         Attachments: HDFS-12942.001.patch, HDFS-12942.002.patch, 
> HDFS-12942.003.patch, HDFS-12942.004.patch
>
>
> FSDataSetImpl#moveBlock  works in following following 3 steps:
> # first creates a new replicaInfo object
> # calls finalizeReplica to finalize it.
> # Calls removeOldReplica to remove oldReplica.
> A client can potentially append to the old replica between step 1 and 2.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to