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

Steve Loughran commented on HADOOP-18175:
-----------------------------------------

code}

[ERROR] 
testStatistics(org.apache.hadoop.fs.s3a.fileContext.ITestS3AFileContextStatistics)
  Time elapsed: 1.591 s  <<< ERROR!
java.io.EOFException: Attempted to seek or read past the end of the file 512
        at 
org.apache.hadoop.fs.s3a.read.S3InputStream.throwIfInvalidSeek(S3InputStream.java:440)
        at 
org.apache.hadoop.fs.s3a.read.S3InputStream.seek(S3InputStream.java:235)
        at 
org.apache.hadoop.fs.s3a.read.S3PrefetchingInputStream.seek(S3PrefetchingInputStream.java:162)
        at org.apache.hadoop.fs.FSInputStream.read(FSInputStream.java:85)
        at 
org.apache.hadoop.fs.FSDataInputStream.read(FSDataInputStream.java:98)
        at 
org.apache.hadoop.fs.FCStatisticsBaseTest.testStatistics(FCStatisticsBaseTest.java:107)


{code}


it's happening in the seek(oldPos) code in the default implementation of 
positioned read, because the previous unpositioned read 


{code}

    byte[] buf = new byte[blockSize];
    int bytesRead = fstr.read(buf, 0, blockSize);
    fstr.read(0, buf, 0, blockSize);

{code}


This is quite a good little failure; I'm impressed but who ever managed to 
think at this corner case. pos is at EOF, so returning to it is raising the 
EOF. 
We will probably want seek() to not do the checks, and have read() do the 
validation, which is mostly what s3a does , as it only rejects negative offsets.

> test failures with prefetching s3a input stream
> -----------------------------------------------
>
>                 Key: HADOOP-18175
>                 URL: https://issues.apache.org/jira/browse/HADOOP-18175
>             Project: Hadoop Common
>          Issue Type: Sub-task
>          Components: fs/s3, test
>    Affects Versions: 3.4.0
>            Reporter: Steve Loughran
>            Priority: Major
>
> identify and fix all test regressions from the prefetching s3a input stream



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

---------------------------------------------------------------------
To unsubscribe, e-mail: common-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: common-issues-h...@hadoop.apache.org

Reply via email to