Uploaded image for project: 'Hadoop Common'
  1. Hadoop Common
  2. HADOOP-15620 Über-jira: S3A phase VI: Hadoop 3.3 features
  3. HADOOP-16711

S3A bucket existence checks to support v2 API and "no checks at all"

VotersWatch issueWatchersLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

    Details

    • Type: Sub-task
    • Status: Resolved
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: 3.2.1
    • Fix Version/s: 3.3.0
    • Component/s: fs/s3
    • Labels:
    • Target Version/s:
    • Release Note:
      Hide
      The probe for an S3 bucket existing now uses the V2 API, which fails fast if the caller lacks access to the bucket.
      The property fs.s3a.bucket.probe can be used to change this. If using a third party library which doesn't support this API call, change it to "1".

      to skip the probe entirely, use "0". This will make filesystem instantiation slightly faster, at a cost of postponing all issues related to bucket existence and client authentication until the filesystem API calls are first used.
      Show
      The probe for an S3 bucket existing now uses the V2 API, which fails fast if the caller lacks access to the bucket. The property fs.s3a.bucket.probe can be used to change this. If using a third party library which doesn't support this API call, change it to "1". to skip the probe entirely, use "0". This will make filesystem instantiation slightly faster, at a cost of postponing all issues related to bucket existence and client authentication until the filesystem API calls are first used.

      Description

      1. in S3AFileSystem.initialize(), we check for the bucket existing with verifyBucketExists(), which calls s3.doesBucketExist(). But that doesn't check for auth issues.

      s3. doesBucketExistV2() does at validate credentials, and should be switched to. This will help things fail faster

      2. For performance it would be good to skip verifyBuckets call during S3A filesystem init(). This would save a call to S3 during init method.

        Attachments

        1. HADOOP-16711.prelim.1.patch
          3 kB
          Rajesh Balamohan

        Issue Links

          Activity

            People

            • Assignee:
              mukund-thakur Mukund Thakur
              Reporter:
              rajesh.balamohan Rajesh Balamohan

              Dates

              • Created:
                Updated:
                Resolved:

                Issue deployment