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

[jira] [Created] (HADOOP-14255) S3A to delete unnecessary fake directory objects in mkdirs()

Mingliang Liu created HADOOP-14255:
--------------------------------------

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


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



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

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