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 "Weihao Zheng (Jira)" <ji...@apache.org> on 2021/09/14 03:05:00 UTC

[jira] [Created] (HADOOP-17907) FileUtil#fullyDelete deletes contents of sym-linked directory when symlink cannot be deleted because of local fs fault

Weihao Zheng created HADOOP-17907:
-------------------------------------

             Summary: FileUtil#fullyDelete deletes contents of sym-linked directory when symlink cannot be deleted because of local fs fault
                 Key: HADOOP-17907
                 URL: https://issues.apache.org/jira/browse/HADOOP-17907
             Project: Hadoop Common
          Issue Type: Bug
          Components: fs
            Reporter: Weihao Zheng


As discussed in HADOOP-6536, FileUtil#fullyDelete should not delete the contents of the sym-linked directory when we pass a symlink parameter. Currently we try to delete the resource first by calling deleteImpl, and if deleteImpl is failed, we regard it as non-empty directory and remove all its contents and then itself. This logic behaves wrong when local file system cannot delete symlink to a directory because of faulty disk, local system's error, etc. When we cannot delete it in the first time, hadoop will try to remove all the contents of the directory it pointed to and leave an empty dir.
So, we should add an isSymlink checking before we call fullyDeleteContents to prevent such behavior.

 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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