You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-issues@hadoop.apache.org by "Mingliang Liu (JIRA)" <ji...@apache.org> on 2017/03/30 01:24:41 UTC

[jira] [Comment Edited] (HADOOP-14226) S3Guard: DynamoDBMetadata::move() should populate ancestor directories of destination paths

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

Mingliang Liu edited comment on HADOOP-14226 at 3/30/17 1:24 AM:
-----------------------------------------------------------------

The v1 patch is to follow [~fabbri]'s comments.

# The newly added test will fail w/o this change, while it succeed w/ this change.
# The test directory set up for {{ITestDynamoDBMetadataStoreScale}} is not cleaned up w/o this patch, while it is cleaned up w/ this patch.

Patch is for review. I'll ran integration tests and post test report later.


was (Author: liuml07):
The v1 patch is to follow [~fabbri]'s comments.

The newly added test will fail w/o this change, while it succeed w/ this change.

Patch is for review. I'll ran integration tests and post test report later.

> S3Guard: DynamoDBMetadata::move() should populate ancestor directories of destination paths
> -------------------------------------------------------------------------------------------
>
>                 Key: HADOOP-14226
>                 URL: https://issues.apache.org/jira/browse/HADOOP-14226
>             Project: Hadoop Common
>          Issue Type: Sub-task
>          Components: fs/s3
>    Affects Versions: HADOOP-13345
>            Reporter: Mingliang Liu
>            Assignee: Mingliang Liu
>         Attachments: HADOOP-14226-HADOOP-13345.000.patch, HADOOP-14226-HADOOP-13345.001.patch
>
>
> UPDATE: Instead of changing the test, in this JIRA we make sure for each path to put, DDBMS::move() has records of each directory up to the root. See [~fabbri]'s comment in this JIRA for more detail.
> After running {{ITestDynamoDBMetadataStoreScale}}, the test data is not cleaned up. There is a call to {{clearMetadataStore(ms, count);}} in the finally clause though. The reason is that, the internally called method {{DynamoDBMetadataStore::deleteSubtree()}} is assuming there should be an item for the parent dest path:
> {code}
> parent=/fake-bucket, child=moved-here, is_dir=true
> {code}
> In DynamoDBMetadataStore implementation, we assume that _if a path exists, all its ancestors will also exist in the table_. We need to pre-create dest path to maintain this invariant so that test data can be cleaned up successfully.
> I think there may be other tests with the same problem. Let's identify/address them separately.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

---------------------------------------------------------------------
To unsubscribe, e-mail: common-issues-unsubscribe@hadoop.apache.org
For additional commands, e-mail: common-issues-help@hadoop.apache.org