[
https://issues.apache.org/jira/browse/HADOOP-17415?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17441104#comment-17441104
]
Steve Loughran commented on HADOOP-17415:
-----------------------------------------
we only do that HEAD on open to (a) meet expectations about FNFE raising early
and (b) to work out how long the file is. on openFile), if given a status, we
can skip the probe, especially as the spec says may fail on first read.
if we just pick up length on first read, then first GET is all we need.
> Use S3 content-range header to update length of an object during reads
> ----------------------------------------------------------------------
>
> Key: HADOOP-17415
> URL: https://issues.apache.org/jira/browse/HADOOP-17415
> Project: Hadoop Common
> Issue Type: Sub-task
> Components: fs/s3
> Affects Versions: 3.3.0
> Reporter: Steve Loughran
> Priority: Major
>
> As part of all the openFile work, knowing full length of an object allows for
> a HEAD to be skipped. But: code knowing only the splits don't know the final
> length of the file.
> If the content-range header is used, then as soon as a single GET is
> initiated against an object, if the field is returned then we can update the
> length of the S3A stream to its real/final length
> Also: when any input stream fails with an EOF exception, we can distinguish
> stream-interrupted from "no, too far"
--
This message was sent by Atlassian Jira
(v8.20.1#820001)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]