[ 
https://issues.apache.org/jira/browse/HDFS-6629?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14052927#comment-14052927
 ] 

Uma Maheswara Rao G commented on HDFS-6629:
-------------------------------------------

I think, as Xattrs not supported on symlinks, we should have check on inode 
that if inode is not a symlink then only we should try dealing with xattrs as 
that inode might not have added with any crypto zone related xattr. 

{code}
 final XAttrFeature xaf = inode.getXAttrFeature();
      if (xaf != null) {
        final List<XAttr> xattrs = xaf.getXAttrs();
        for (XAttr xattr : xattrs) {
          final String xaName = XAttrHelper.getPrefixName(xattr);
          if (CRYPTO_XATTR_ENCRYPTION_ZONE.equals(xaName)) {
            encryptionZones.put(inode.getId(),
              new EncryptionZoneInt(new String(xattr.getValue()),
                                    inode.getId()));
          }
        }
      }
{code}

[~clamb], are you ok with this change? Please correct me if I did not follow it 
correctly.

> Not able to create symlinks after HDFS-6516
> -------------------------------------------
>
>                 Key: HDFS-6629
>                 URL: https://issues.apache.org/jira/browse/HDFS-6629
>             Project: Hadoop HDFS
>          Issue Type: Sub-task
>          Components: namenode
>            Reporter: Uma Maheswara Rao G
>            Assignee: Uma Maheswara Rao G
>             Fix For: fs-encryption (HADOOP-10150 and HDFS-6134)
>
>
> {noformat}
> java.lang.UnsupportedOperationException: XAttrs are not supported on symlinks
>       at 
> org.apache.hadoop.hdfs.server.namenode.INodeSymlink.getXAttrFeature(INodeSymlink.java:137)
>       at 
> org.apache.hadoop.hdfs.server.namenode.INode.getXAttrFeature(INode.java:192)
>       at 
> org.apache.hadoop.hdfs.server.namenode.FSDirectory.addToInodeMap(FSDirectory.java:2233)
>       at 
> org.apache.hadoop.hdfs.server.namenode.FSDirectory.addChild(FSDirectory.java:2137)
>       at 
> org.apache.hadoop.hdfs.server.namenode.FSDirectory.addLastINode(FSDirectory.java:2080)
>       at 
> org.apache.hadoop.hdfs.server.namenode.FSDirectory.addINode(FSDirectory.java:1900)
>       at 
> org.apache.hadoop.hdfs.server.namenode.FSDirectory.unprotectedAddSymlink(FSDirectory.java:2562)
>       at 
> org.apache.hadoop.hdfs.server.namenode.FSDirectory.addSymlink(FSDirectory.java:2550)
>       at 
> org.apache.hadoop.hdfs.server.namenode.FSNamesystem.addSymlink(FSNamesystem.java:4768)
>       at 
> org.apache.hadoop.hdfs.server.namenode.FSNamesystem.createSymlinkInt(FSNamesystem.java:2193)
>       at 
> org.apache.hadoop.hdfs.server.namenode.FSNamesystem.createSymlink(FSNamesystem.java:2153)
> {noformat}
> Noticed from fs-encryption jenkins.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to