Details
Description
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,
CompletableFuture<FSDataInputStream> streamF = fs.openFile(stat.getPath()) .withFileStatus(stat).build()
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.
Attachments
Issue Links
- blocks
-
HADOOP-15620 Über-jira: S3A phase VI: Hadoop 3.3 features
-
- Resolved
-
- breaks
-
HADOOP-16853 ITestS3GuardOutOfBandOperations failing on versioned S3 buckets
-
- Resolved
-
- causes
-
HADOOP-16827 TestHarFileSystem.testInheritedMethodsImplemented broken
-
- Resolved
-
- is depended upon by
-
HDFS-14478 Add libhdfs APIs for openFile
-
- Resolved
-
- is related to
-
HADOOP-16101 Use lighter-weight alternatives to innerGetFileStatus where possible
-
- Open
-
-
HADOOP-16202 Enhance openFile() for better read performance against object stores
-
- Resolved
-
- links to