[ https://issues.apache.org/jira/browse/HDFS-3492?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13290937#comment-13290937 ]
Hudson commented on HDFS-3492: ------------------------------ Integrated in Hadoop-Hdfs-trunk #1070 (See [https://builds.apache.org/job/Hadoop-Hdfs-trunk/1070/]) HDFS-3492. Fix some misuses of InputStream#skip. Contributed by Colin Patrick McCabe. (Revision 1347192) Result = FAILURE todd : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1347192 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/main/java/org/apache/hadoop/hdfs/server/namenode/FSEditLogOp.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 > Reporter: Colin Patrick McCabe > Assignee: Colin Patrick McCabe > Priority: Minor > Fix For: 2.0.1-alpha > > Attachments: HDFS-3492.001.patch > > > 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