[ https://issues.apache.org/jira/browse/HADOOP-14255?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Mingliang Liu updated HADOOP-14255: ----------------------------------- Description: 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 [~ste...@apache.org] for discussion. was: 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]. > 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]. Thanks [~ste...@apache.org] for > discussion. -- This message was sent by Atlassian JIRA (v6.3.15#6346) --------------------------------------------------------------------- To unsubscribe, e-mail: common-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-issues-h...@hadoop.apache.org