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
                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-unsubscribe@hadoop.apache.org
For additional commands, e-mail: hdfs-issues-help@hadoop.apache.org


Mime
View raw message