[
https://issues.apache.org/jira/browse/HDFS-9561?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15061059#comment-15061059
]
Zhe Zhang commented on HDFS-9561:
---------------------------------
Thanks for reporting this Kihwal. It seems {{addDatanode2ExistingPipeline}} has
logic to process last packet in a block:
{code}
} else if (stage == BlockConstructionStage.PIPELINE_CLOSE
|| stage == BlockConstructionStage.PIPELINE_CLOSE_RECOVERY) {
//pipeline is closing
return;
{code}
Did you see this error in tests / production?
> PIpieline recovery near the end of a block may fail
> ---------------------------------------------------
>
> Key: HDFS-9561
> URL: https://issues.apache.org/jira/browse/HDFS-9561
> Project: Hadoop HDFS
> Issue Type: Bug
> Reporter: Kihwal Lee
>
> When the client wants to add additional nodes to the pipeline during a
> recovery, it will fail if all existing replicas are already finalized. This
> is because the partial block copy only works when the replica is in rbw.
> Clients cannot reliably tell whether a node has finalized the replica during
> a recovery.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)