[ 
https://issues.apache.org/jira/browse/HADOOP-9495?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13639440#comment-13639440
 ] 

Colin Patrick McCabe commented on HADOOP-9495:
----------------------------------------------

Thanks, Steve.  It's good to see some effort put into validating this API 
contract.

One thing I noticed is that Java's {{FileChannel#position}} method will happily 
let you seek past the end of the file with no exception or bad return value.  
It is only reading at this offset that will fail.  That means that 
implementations of {{seek}} like {{LocalFSFileInputStream#seek}} which simply 
call this method, will have the same behavior.  This corresponds to behavior 
{{SEEK6}}
 in your list.  I suppose it's not incorrect by your definition, but it is 
surprising (to me at least).  It would be nice to see this spelled out in the 
JavaDoc.
                
> 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