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

Aaron Fabbri commented on HADOOP-13448:
---------------------------------------

Thinking about this a bit more, I'm favoring option (C).  pathsToCreate would 
probably be a Collection<PathMetadata> though.

LocalMetadataStore is the easiest to implement.  It could basically 

{code}
acquireLock(this)
for deleteMe in pathsToDelete :
    metadata = get(deleteMe)
    metadata.setDeleted(true)

for createMe in pathsToCreate :
    put(createMe)
releaseLock(this)
{code}

We should also consider, in the future, exposing a getProperties() method on 
MetadataStore where clients (and tests) can query properties of the 
MetadataStore, e.g. metadataStore.getProperties(IS_MOVE_ATOMIC).  This allows, 
say, DynamoDBMetadataStore to chose not to implement atomic move.

> 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
(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