[ 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