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

Mingliang Liu commented on HADOOP-13449:
----------------------------------------

Thanks for your review [~fabbri]. Quick reply (will consider more carefully 
before I submit a new patch this week):

# Yes, the AWS SDK version bump should be separated out. However, I found the 
DynamoDBLocal is not included in version >1.11.0.1 Steve does have a patch in 
[HADOOP-13050], which bumps up the version to 1.11.45. I guess we may have to 
use different DynamoDBLocal version from AWS SDK (and thus DynamoDB) version. 
By the way, the headache of {{jackson2}} version, I got 2.5.5 working. Next 
patch will be easier to separate the version bump code out.
# I think moving {{testDescendantsIterator}} to {{MetadataStoreTestBase}} is a 
very good idea. I'll try to consolidate this in next patch. It should work.
# As to the changes in the test base and local metadata store. I'm sorry for 
that. I was selfish to make my test pass only. I was indeed make the test 
methods in base class common/general enough so that both DDB and local MS can 
use this. Plus, the local MS can override them:
{code:title=from the patch}
        61      
62        @Override
63        protected void verifyFileStatus(FileStatus status, long size) {
64          super.verifyFileStatus(status, size);
65      
66          assertEquals("Replication value", REPLICATION, 
status.getReplication());
67          assertEquals("Access time", getAccessTime(), 
status.getAccessTime());
68          assertEquals("Owner", OWNER, status.getOwner());
69          assertEquals("Group", GROUP, status.getGroup());
70          assertEquals("Permission", PERMISSION, status.getPermission());
71        }
72      
73        @Override
74        protected void verifyDirStatus(FileStatus status) {
75          super.verifyDirStatus(status);
76      
77          assertEquals("Mod time", getModTime(), 
status.getModificationTime());
78          assertEquals("Replication value", REPLICATION, 
status.getReplication());
79          assertEquals("Access time", getAccessTime(), 
status.getAccessTime());
80          assertEquals("Owner", OWNER, status.getOwner());
81          assertEquals("Group", GROUP, status.getGroup());
82          assertEquals("Permission", PERMISSION, status.getPermission());
83        }
{code}
Do you want me to make the base test methods untouched (as well as local), and 
make DDB test override the super methods? That is also feasible, but the base 
class will not be general/common enough; plus we may have duplicate code.
# {{public abstract MetadataStore getMs();}} in {{AbstractMSContract}} was 
unexpected. I must have been fooled by my IDE.
# No I'll finish my review (sorry for the delay) for [HADOOP-13651] before I 
run any integration/contract tests. We may have a few of follow-up JIRAs to 
make end2end tests work.

The comments are driving this patch in the right direction. But.... did I 
promise too much about the next version patch? I may post a mid-way patch for 
quick feedback.

My final concern is that, the MetadataStore assumes all ancestor directories 
(including direct parent directory) have been pre-created by the caller/user. I 
have to change the base test MetadataStoreTestBase to make all the tests pass. 
We have to change LocalMetadataStore accordingly. See my above comments.

> S3Guard: Implement DynamoDBMetadataStore.
> -----------------------------------------
>
>                 Key: HADOOP-13449
>                 URL: https://issues.apache.org/jira/browse/HADOOP-13449
>             Project: Hadoop Common
>          Issue Type: Sub-task
>          Components: fs/s3
>            Reporter: Chris Nauroth
>            Assignee: Mingliang Liu
>         Attachments: HADOOP-13449-HADOOP-13345.000.patch, 
> HADOOP-13449-HADOOP-13345.001.patch, HADOOP-13449-HADOOP-13345.002.patch, 
> HADOOP-13449-HADOOP-13345.003.patch, HADOOP-13449-HADOOP-13345.004.patch
>
>
> Provide an implementation of the metadata store backed by DynamoDB.



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