Chris Nauroth commented on HADOOP-13448:

+1 for a {{MetadataStore#initialize}} method accepting the {{FileSystem}} base 
class, but allowing subclasses to demand and downcast to something more 
specific.  In my prototype, tightly coupling the DynamoDB integration to 
{{S3AFileSystem}} was helpful, because it allowed reuse of the S3A configured 
bucket, {{AWSCredentialsProvider}} and {{ClientConfiguration}}, which involves 
some fairly complex initialization logic.

I think passing {{FileSystem}} to {{initialize}} also allows us to remove the 
{{Configuration}} parameter.  Any {{FileSystem}} is a {{Configured}}, so we can 
get a {{Configuration}} out of it.

+1 also for requiring absolute paths in the arguments, and leaving 
responsibility for absolute path resolution to the {{FileSystem}}.

> S3Guard: Define MetadataStore interface.
> ----------------------------------------
>                 Key: HADOOP-13448
>                 URL: https://issues.apache.org/jira/browse/HADOOP-13448
>             Project: Hadoop Common
>          Issue Type: Sub-task
>          Components: fs/s3
>            Reporter: Chris Nauroth
>            Assignee: Chris Nauroth
>             Fix For: HADOOP-13345
>         Attachments: HADOOP-13448-HADOOP-13345.001.patch, 
> HADOOP-13448-HADOOP-13345.002.patch, HADOOP-13448-HADOOP-13345.003.patch, 
> HADOOP-13448-HADOOP-13345.004.patch, HADOOP-13448-HADOOP-13345.005.patch
> Define the common interface for metadata store operations.  This is the 
> interface that any metadata back-end must implement in order to integrate 
> with S3Guard.

This message was sent by Atlassian JIRA

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