Colin Patrick McCabe created HADOOP-8614:
--------------------------------------------
Summary: IOUtils#skipFully hangs forever on EOF
Key: HADOOP-8614
URL: https://issues.apache.org/jira/browse/HADOOP-8614
Project: Hadoop Common
Issue Type: Bug
Affects Versions: 2.0.1-alpha
Reporter: Colin Patrick McCabe
Assignee: Colin Patrick McCabe
IOUtils#skipFully contains this code:
{code}
public static void skipFully(InputStream in, long len) throws IOException {
while (len > 0) {
long ret = in.skip(len);
if (ret < 0) {
throw new IOException( "Premature EOF from inputStream");
}
len -= ret;
}
}
{code}
The Java documentation is silent about what exactly skip is supposed to do in
the event of EOF. However, I looked at both InputStream#skip and
ByteArrayInputStream#skip, and they both simply return 0 on EOF (no exception).
So it seems safe to assume that this is the standard Java way of doing things
in an InputStream.
Currently IOUtils#skipFully will loop forever if you ask it to skip past EOF!
--
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