[
https://issues.apache.org/jira/browse/HADOOP-9495?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13652512#comment-13652512
]
Steve Loughran commented on HADOOP-9495:
----------------------------------------
Here's one question: what happens if you try to seek() after going so far that
an {{EOFException}} is raised? Is the caller allowed back in range?
{code}
@Test(timeout = SWIFT_TEST_TIMEOUT)
public void testSeekAndPastEndOfFileThenReseekAndRead() throws Throwable {
instream = fs.open(smallSeekFile);
//go past the end
try {
instream.seek(SMALL_SEEK_FILE_LEN);
fail("expected an EOFException");
} catch (EOFException expected) {
}
instream.seek(1);
assertTrue("Premature EOF", instream.read() != -1);
}
{code}
> Define behaviour of Seekable.seek(), write tests, fix all hadoop
> implementations for compliance
> -----------------------------------------------------------------------------------------------
>
> Key: HADOOP-9495
> URL: https://issues.apache.org/jira/browse/HADOOP-9495
> Project: Hadoop Common
> Issue Type: Sub-task
> Components: fs
> Affects Versions: 1.2.0, 3.0.0
> Reporter: Steve Loughran
> Assignee: Steve Loughran
>
> {{Seekable.seek()}} seems a good starting point for specifying, testing and
> implementing FS API compliance: one method, relatively non-ambiguous
> semantics, easily assessed used in the Hadoop codebase. Specify and test it
> first
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira