[ 
https://issues.apache.org/jira/browse/HDFS-3492?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Eli Collins updated HDFS-3492:
------------------------------

    Attachment: hdfs-3492.txt

Patch rebased on trunk.
                
> fix some misuses of InputStream#skip
> ------------------------------------
>
>                 Key: HDFS-3492
>                 URL: https://issues.apache.org/jira/browse/HDFS-3492
>             Project: Hadoop HDFS
>          Issue Type: Bug
>            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

        

Reply via email to