You are viewing a plain text version of this content. The canonical link for it is here.
Posted to hdfs-issues@hadoop.apache.org by "Wellington Chevreuil (JIRA)" <ji...@apache.org> on 2017/08/22 12:33:00 UTC
[jira] [Created] (HDFS-12336) Listing encryption zones still fails
when deleted EZ is not a direct child of snapshottable directory
Wellington Chevreuil created HDFS-12336:
-------------------------------------------
Summary: Listing encryption zones still fails when deleted EZ is not a direct child of snapshottable directory
Key: HDFS-12336
URL: https://issues.apache.org/jira/browse/HDFS-12336
Project: Hadoop HDFS
Issue Type: Bug
Components: hdfs
Affects Versions: 3.0.0-alpha4
Reporter: Wellington Chevreuil
Assignee: Wellington Chevreuil
Priority: Minor
The fix proposed on HDFS-11197 didn't cover the scenario where the EZ deleted but still under a snapshot is not a direct child of the snapshottable directory.
Here the code snippet proposed on HDFS-11197 that would avoid the error reported by *hdfs crypto -listZones* when a deleted EZ is still under a given snapshot:
{noformat}
INode lastINode = null;
if (inode.getParent() != null || inode.isRoot()) {
INodesInPath iip = dir.getINodesInPath(pathName, DirOp.READ_LINK);
lastINode = iip.getLastINode();
}
if (lastINode == null || lastINode.getId() != ezi.getINodeId()) {
continue;
}
{noformat}
It will ignore EZs when it's a direct child of a snapshot, because its parent inode will be null, and it isn't the root inode. However, if the EZ is not directly under snapshottable directory, its parent will not be null, and it will pass this check, so it will fail further due *absolute path required* validation error.
I would like to work on a fix that would also cover this scenario.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)
---------------------------------------------------------------------
To unsubscribe, e-mail: hdfs-issues-unsubscribe@hadoop.apache.org
For additional commands, e-mail: hdfs-issues-help@hadoop.apache.org