Siyao Meng created HDFS-15689:
---------------------------------

             Summary: allow/disallowSnapshot on EZ roots shouldn't fail due to 
trash root provisioning or emptiness check
                 Key: HDFS-15689
                 URL: https://issues.apache.org/jira/browse/HDFS-15689
             Project: Hadoop HDFS
          Issue Type: Bug
          Components: hdfs
    Affects Versions: 3.4.0
            Reporter: Siyao Meng
            Assignee: Siyao Meng


h2. Background

1. HDFS-15607 added a feature that when 
{{dfs.namenode.snapshot.trashroot.enabled=true}}, allowSnapshot will 
automatically create a .Trash directory immediately after allowSnapshot 
operation so files deleted will be moved into the trash root inside the 
snapshottable directory.
2. HDFS-15539 prevents admins from disallowing snapshot if the trash root 
inside is not empty

h2. Problem

1. When {{dfs.namenode.snapshot.trashroot.enabled=true}}, currently if the 
directory (to be allowed snapshot on) is an EZ root, it throws 
{{FileAlreadyExistsException}} because the trash root already exists 
(encryption zone has already created an internal trash root).
2. Similarly, at the moment if we disallow snapshot on an EZ root, it may 
complain that the trash root is not empty (or delete it if empty, which is not 
desired since EZ will still need it).

h2. Solution

1. Let allowSnapshot succeed by not throwing {{FileAlreadyExistsException}}, 
but informs the admin that the trash already exists.
2. Ignore {{checkTrashRootAndRemoveIfEmpty()}} check if path is EZ root.



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

---------------------------------------------------------------------
To unsubscribe, e-mail: hdfs-dev-unsubscr...@hadoop.apache.org
For additional commands, e-mail: hdfs-dev-h...@hadoop.apache.org

Reply via email to