You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-issues@hadoop.apache.org by "Steve Loughran (Jira)" <ji...@apache.org> on 2019/12/12 12:54:00 UTC

[jira] [Commented] (HADOOP-16759) Filesystem openFile() builder to take a FileStatus param

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

Steve Loughran commented on HADOOP-16759:
-----------------------------------------

adding a new withFileStatus() Builder option is straightforward; it will be something else to pass down to 
FS/FC implementations, which will change the signature of implementations of the (unshipped) method openFileWithOptions. 

* add this before any back ports
* propose changing openFileWithOptions to take a new OpenFileOptions class for this and future extensibility.

If we extend the builder again, we would be just add new fields to OpenFileOptions

> Filesystem openFile() builder to take a FileStatus param
> --------------------------------------------------------
>
>                 Key: HADOOP-16759
>                 URL: https://issues.apache.org/jira/browse/HADOOP-16759
>             Project: Hadoop Common
>          Issue Type: Sub-task
>          Components: fs, fs/azure, fs/s3
>    Affects Versions: 3.3.0
>            Reporter: Steve Loughran
>            Assignee: Steve Loughran
>            Priority: Minor
>
> Let us pass in a file status to openFile() so that S3A  & ABFS will skip their own HEAD requests just to see if a file is there, a normal file and get its length + etag, 
> {code}
>     CompletableFuture<FSDataInputStream> streamF = fs.openFile(stat.getPath())
>       .withFileStatus(stat).build()
> {code}
> code opening files off a listing of everything in a directory can eliminate a lot of requests here.
> Also: change the specification of openFile's completable future to say "returned stream may only raise FNFE, access restrictions on the first read"
> That is: it's not just potentially an async open, it's possibly lazy evaluated entirely. 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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