William Lo created GOBBLIN-2082:
-----------------------------------

             Summary: Manifest distcp creates extra folders when publishing 
files
                 Key: GOBBLIN-2082
                 URL: https://issues.apache.org/jira/browse/GOBBLIN-2082
             Project: Apache Gobblin
          Issue Type: Bug
          Components: gobblin-core
            Reporter: William Lo
            Assignee: Abhishek Tiwari


Manifest distcp often creates large file directory structures when copying 
files from one location to another. There is a risk when concurrently 
publishing files from a directory structure where the folders may not exist 
before renaming files, described by the javadoc:
{code:java}
* Renames a src {@link Path} on fs {@link FileSystem} to a dst {@link Path}. If 
fs is a {@link LocalFileSystem} and
* src is a directory then {@link File#renameTo} is called directly to avoid a 
directory rename race condition where
* {@link org.apache.hadoop.fs.RawLocalFileSystem#rename} copies the conflicting 
src directory into dst resulting in
* an extra nested level, such as /root/a/b/c/e/e where e is repeated. {code}
Given that on HDFS it does not use a RawLocalFileSystem in many 
implementations, we want to pre-create the folders copied sequentially to 
safely create the folders before publishing the files.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to