[ https://issues.apache.org/jira/browse/HADOOP-13736?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15590048#comment-15590048 ]
Aaron Fabbri commented on HADOOP-13736: --------------------------------------- Why not cast as needed and keep it the base type? The ADLS folks indicated they were interested in using MetadataStore, but this change would break that. In LocalMetadataStore, I have a single special case for s3a due to the isEmptyDirectory flag in S3AFileStatus. I have a flag {{isS3A}} in the LocalMetadataStore and I cast as needed when it is true. > 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