hadoop-hdfs-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hudson (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HDFS-3492) fix some misuses of InputStream#skip
Date Sat, 14 Jul 2012 11:41:41 GMT

    [ https://issues.apache.org/jira/browse/HDFS-3492?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13414358#comment-13414358

Hudson commented on HDFS-3492:

Integrated in Hadoop-Hdfs-trunk #1103 (See [https://builds.apache.org/job/Hadoop-Hdfs-trunk/1103/])
    HDFS-3492. fix some misuses of InputStream#skip. Contributed by Colin Patrick McCabe (Revision

     Result = FAILURE
eli : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1361449
Files : 
* /hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs-httpfs/src/main/java/org/apache/hadoop/lib/wsrs/InputStreamEntity.java
* /hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
* /hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/BlockReaderLocal.java
* /hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestShortCircuitLocalRead.java
* /hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/datanode/SimulatedFSDataset.java

> fix some misuses of InputStream#skip
> ------------------------------------
>                 Key: HDFS-3492
>                 URL: https://issues.apache.org/jira/browse/HDFS-3492
>             Project: Hadoop HDFS
>          Issue Type: Bug
>          Components: name-node
>    Affects Versions: 2.0.0-alpha
>            Reporter: Colin Patrick McCabe
>            Assignee: Colin Patrick McCabe
>            Priority: Minor
>         Attachments: HDFS-3492.001.patch, HDFS-3492.002.patch, hdfs-3492.txt
> It seems that we have a few cases where programmers are calling InputStream#skip and
not handling "short skips."  Unfortunately, the skip method is documented and implemented
so that it doesn't actually skip the requested number of bytes, but simply tries to skip at
most that amount of bytes.  A better name probably would have been trySkip or similar.
> It seems like most of the time when the argument to skip is small enough, we'll succeed
almost all of the time.  This is no doubt an implementation artifact of some of the popular
stream implementations.  This tends to hide the bug-- however, it is still waiting to emerge
at some point if those implementations ever change or if buffer sizes are adjusted, etc.
> All of these cases can be fixed by calling IOUtils#skipFully to get the behavior that
the programmer expects-- i.e., skipping by the specified amount.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira


View raw message