[
https://issues.apache.org/jira/browse/HDFS-17929?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18085185#comment-18085185
]
ASF GitHub Bot commented on HDFS-17929:
---------------------------------------
CapMoon opened a new pull request, #8524:
URL: https://github.com/apache/hadoop/pull/8524
### Description of PR
DFSStripedInputStream#createBlockReader handles reader creation failures by
re-fetching the block location, because the striped internal block may have
moved. However, after re-fetching it unconditionally calls
addToLocalDeadNodes().
There is also a related retry issue in
DFSStripedInputStream#readWithStrategy. The method retries after an
IOException, but the next blockSeekTo() can still use cached LocatedBlocks.
Without refreshing open file information before retrying, the retry may reuse
stale block locations and hit the same moved-block condition again.
### How was this patch tested?
Unit tests
> Revisit retrying mechanism in DFSStripedInputStream
> ---------------------------------------------------
>
> Key: HDFS-17929
> URL: https://issues.apache.org/jira/browse/HDFS-17929
> Project: Hadoop HDFS
> Issue Type: Improvement
> Components: hdfs
> Affects Versions: 3.4.3
> Reporter: Yue Wang
> Assignee: Yue Wang
> Priority: Major
>
> DFSStripedInputStream#createBlockReader handles reader creation failures by
> re-fetching the block location, because the striped internal block may have
> moved. However, after re-fetching it unconditionally calls
> addToLocalDeadNodes().
> There is also a related retry issue in
> DFSStripedInputStream#readWithStrategy. The method retries after an
> IOException, but the next blockSeekTo() can still use cached LocatedBlocks.
> Without refreshing open file information before retrying, the retry may reuse
> stale block locations and hit the same moved-block condition again.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]