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 2016/12/09 13:20:58 UTC

[jira] [Created] (HADOOP-13884) s3a create(overwrite=true) to only look for dir/ and list entries, not file

Steve Loughran created HADOOP-13884:
---------------------------------------

             Summary: s3a create(overwrite=true) to only look for dir/ and list entries, not file
                 Key: HADOOP-13884
                 URL: https://issues.apache.org/jira/browse/HADOOP-13884
             Project: Hadoop Common
          Issue Type: Sub-task
          Components: fs/s3
    Affects Versions: 2.9.0
            Reporter: Steve Loughran
            Priority: Minor


before doing a create(), s3a does a getFileStatus() to make sure there isn't a directory there, and, if overwrite=false, that there isn't a file.

Because S3 caches negative HEAD/GET requests, if there isn't a file, then even after the PUT, a later GET/HEAD may return 404; we are generating create consistency where none need exist. 

when overwrite=true we don't care whether the file exists or not, only that the path isn't a directory. So we can just to the HEAD path +"/' and the LIST calls, skipping the {{HEAD path}}. This will save an HTTP round trip of a few hundred millis, and ensure that there's no 404 cached in the S3 front end for later callers



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

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