hadoop-common-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mingliang Liu (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HADOOP-14255) S3A to delete unnecessary fake directory objects in mkdirs()
Date Mon, 26 Jun 2017 23:40:00 GMT

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

Mingliang Liu commented on HADOOP-14255:
----------------------------------------

Thanks [~stevel@apache.org] for reporting this. Yes that is very related to this patch and
we should address that.

I filed [HADOOP-14594] and attached a patch file. One change is that, we delete {{destDirDepth
- 1}} fake directory object instead of {{destDirDepth}}.

> S3A to delete unnecessary fake directory objects in mkdirs()
> ------------------------------------------------------------
>
>                 Key: HADOOP-14255
>                 URL: https://issues.apache.org/jira/browse/HADOOP-14255
>             Project: Hadoop Common
>          Issue Type: Sub-task
>          Components: fs/s3
>            Reporter: Mingliang Liu
>            Assignee: Mingliang Liu
>             Fix For: 2.9.0, 3.0.0-alpha4
>
>         Attachments: HADOOP-14255.000.patch, HADOOP-14255.001.patch
>
>
> In S3AFileSystem, as an optimization, we delete unnecessary fake directory objects if
that directory contains at least one (nested) file. That is done in closing stream of newly
created file. However, if the directory becomes non-empty after we just create an empty subdirectory,
we do not delete its fake directory object though that fake directory object becomes "unnecessary".
> So in {{S3AFileSystem::mkdirs()}}, we have a pending TODO:
> {quote}
>   // TODO: If we have created an empty file at /foo/bar and we then call
>   // mkdirs for /foo/bar/baz/roo what happens to the empty file /foo/bar/?
>   private boolean innerMkdirs(Path p, FsPermission permission)
> {quote}
> This JIRA is to fix the TODO: provide consistent behavior for a fake directory object
between its nested subdirectory and nested file by deleting it.
> See related discussion in [HADOOP-14236]. Thanks [~stevel@apache.org] for discussion.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

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


Mime
View raw message