From 1ad5343c1fbc061232170777eb8fae249e882ec0 Mon Sep 17 00:00:00 2001 From: Andrew Wang Date: Thu, 22 May 2014 00:16:02 +0000 Subject: [PATCH] HDFS-6396. Remove support for ACL feature from INodeSymlink. Contributed by Charles Lamb. git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/branches/branch-2@1596717 13f79535-47bb-0310-9956-ffa450edef68 --- hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt | 3 +++ .../hdfs/server/namenode/INodeSymlink.java | 20 +++++++++++++++++++ 2 files changed, 23 insertions(+) diff --git a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt index f13af128492..f61d876b822 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt +++ b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt @@ -120,6 +120,9 @@ Release 2.5.0 - UNRELEASED HDFS-6432. Add snapshot related APIs to webhdfs. (jing9) + HDFS-6396. Remove support for ACL feature from INodeSymlink. + (Charles Lamb via wang) + OPTIMIZATIONS HDFS-6214. Webhdfs has poor throughput for files >2GB (daryn) diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/INodeSymlink.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/INodeSymlink.java index 16d73268934..2b709b2c332 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/INodeSymlink.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/INodeSymlink.java @@ -25,6 +25,7 @@ import org.apache.hadoop.hdfs.DFSUtil; import org.apache.hadoop.hdfs.protocol.QuotaExceededException; import org.apache.hadoop.hdfs.server.namenode.snapshot.Snapshot; +import org.apache.hadoop.hdfs.server.namenode.AclFeature; /** * An {@link INode} representing a symbolic link. @@ -110,4 +111,23 @@ public void dumpTreeRecursively(PrintWriter out, StringBuilder prefix, super.dumpTreeRecursively(out, prefix, snapshot); out.println(); } + + /** + * getAclFeature is not overridden because it is needed for resolving + * symlinks. + @Override + final AclFeature getAclFeature(int snapshotId) { + throw new UnsupportedOperationException("ACLs are not supported on symlinks"); + } + */ + + @Override + public void removeAclFeature() { + throw new UnsupportedOperationException("ACLs are not supported on symlinks"); + } + + @Override + public void addAclFeature(AclFeature f) { + throw new UnsupportedOperationException("ACLs are not supported on symlinks"); + } }