Details
-
Sub-task
-
Status: Resolved
-
Minor
-
Resolution: Duplicate
-
None
-
None
-
None
Description
The verifyBucketExists() makes an HTTPS HEAD request of a bucket when creating an FS, adding an extra HTTPS call of a few hundred millis. (as this is the first call, cost may be amplified for DNS lookup, thread pool creation, etc, so may appear more expensive).
If a bucket doesn't exist, the first actual client-initiated operation (get, list, put) will trigger a failure, so the call could potentially be stripped out.
- it will complicate failure reporting, if you want to distinguish "unauthed" and "not found" on a blob from those on a bucket.
- the fact that the first HTTPS request probably includes first-HTTPS call overhead (pool creation, DNS, any certificate checking) may make that first call appear more expensive than it is...those actions would just take place on the first client-initiated call.
Attachments
Issue Links
- duplicates
-
HADOOP-13757 Remove verifyBuckets overhead in S3AFileSystem::initialize()
- Resolved