[ 
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

Reply via email to