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