[ https://issues.apache.org/jira/browse/HDFS-11379?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Daryn Sharp updated HDFS-11379: ------------------------------- Attachment: HDFS-11379.branch-2.patch HDFS-11379.trunk.patch Main issue is getFinalizedBlockRange takes an offset and length. It will loop forever until it receives blocks that satisfy length, even if no locations were returned. Simplest change is to abort when no locations are returned in the expected range. Changed two duplicated code regions, sans whether to cache, to invoke a common method for fetching locations. > DFSInputStream may infinite loop requesting block locations > ----------------------------------------------------------- > > Key: HDFS-11379 > URL: https://issues.apache.org/jira/browse/HDFS-11379 > Project: Hadoop HDFS > Issue Type: Bug > Components: hdfs-client > Affects Versions: 2.7.0 > Reporter: Daryn Sharp > Assignee: Daryn Sharp > Priority: Critical > Attachments: HDFS-11379.branch-2.patch, HDFS-11379.trunk.patch > > > DFSInputStream creation caches file size and initial range of locations. If > the file is truncated (or replaced) and the client attempts to read outside > the initial range, the client goes into a tight infinite looping requesting > locations for the nonexistent range. -- This message was sent by Atlassian JIRA (v6.3.4#6332) --------------------------------------------------------------------- To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org