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

Aaron Fabbri commented on HADOOP-13736:
---------------------------------------

Example code:

In init code:
{code}
    if (fs instanceof S3AFileSystem) {
      isS3A = true;
    }
{code}

Example from put()
{code}
         // S3A-specific logic to maintain S3AFileStatus#isEmptyDirectory()
          if (isS3A) {
            setS3AIsEmpty(parentPath, false);
          }
{code}

Implementation:
{code}
private void setS3AIsEmpty(Path path, boolean isEmpty) {
    // Update any file statuses in fileHash
    PathMetadata meta = fileHash.get(path);
    if (meta != null) {
      S3AFileStatus s3aStatus =  (S3AFileStatus)meta.getFileStatus();
      s3aStatus.setIsEmptyDirectory(isEmpty);
    }
...
{code}



> Change PathMetadata to hold S3AFileStatus instead of FileStatus.
> ----------------------------------------------------------------
>
>                 Key: HADOOP-13736
>                 URL: https://issues.apache.org/jira/browse/HADOOP-13736
>             Project: Hadoop Common
>          Issue Type: Sub-task
>          Components: fs/s3
>            Reporter: Lei (Eddy) Xu
>            Assignee: Lei (Eddy) Xu
>
> {{S3AFileStatus}} is implemented differently with {{FileStatus}}, for 
> instance {{S3AFileStatus#isEmptyDirectory()}} is not implemented in 
> {{FileStatus()}}. And {{access_time}}, {{block_replication}}, {{owner}}, 
> {{group}} and a few other fields are not meaningful in {{S3AFileStatus}}.  
> So in the scope of {{S3guard}}, it should use {{S3AFileStatus}} in  instead 
> of {{FileStatus}} in {{PathMetadaa}} to avoid casting the types back and 
> forth in S3A. 



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

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

Reply via email to