hadoop-hdfs-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Daryn Sharp (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (HDFS-11379) DFSInputStream may infinite loop requesting block locations
Date Fri, 27 Jan 2017 21:00:25 GMT

     [ 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

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

> 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

To unsubscribe, e-mail: hdfs-issues-unsubscribe@hadoop.apache.org
For additional commands, e-mail: hdfs-issues-help@hadoop.apache.org

View raw message