[
https://issues.apache.org/jira/browse/HDFS-17154?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17755032#comment-17755032
]
ASF GitHub Bot commented on HDFS-17154:
---------------------------------------
Hexiaoqiao commented on PR #5941:
URL: https://github.com/apache/hadoop/pull/5941#issuecomment-1680515885
Committed to trunk. Thanks @zhangshuyan0 for your works and @haiyang1987 for
your reviews!
Note: The failed unit test is not related to this changes.
> EC: Fix bug in updateBlockForPipeline after failover
> ----------------------------------------------------
>
> Key: HDFS-17154
> URL: https://issues.apache.org/jira/browse/HDFS-17154
> Project: Hadoop HDFS
> Issue Type: Bug
> Reporter: Shuyan Zhang
> Assignee: Shuyan Zhang
> Priority: Major
> Labels: pull-request-available
>
> In the method `updateBlockForPipeline`, NameNode uses the
> `BlockUnderConstructionFeature` of a BlockInfo to generate the member
> `blockIndices` of `LocatedStripedBlock`.
> And then, NameNode uses `blockIndices` to generate block tokens for client.
> However, if there is a failover, the location info in
> BlockUnderConstructionFeature may be incomplete, which results in the absence
> of the corresponding block tokens.
> When the client receives these incomplete block tokens, it will throw a NPE
> because `updatedBlks[i]` is null.
> NameNode should just return block tokens for all indices to the client.
> Client can pick whichever it likes to use.
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]