[ https://issues.apache.org/jira/browse/HDFS-5594?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Chris Nauroth updated HDFS-5594: -------------------------------- Attachment: HDFS-5594.1.patch This patch provides the {{FileSystem}} API described in the design doc for reading and writing ACLs. Here are a few additional notes on this patch: # The design doc mentioned an {{AclSpec}} class for use in the modification operations. It turns out that we can simplify this to a {{Set<AclEntry>}}, so I didn't code a separate {{AclSpec}} class. I'll plan to update the design doc accordingly. # It might look odd that we have separate enums for read flags and write flags, both of which just contain a {{RECURSIVE}} option. It's possible that these flags will diverge over time, so I'd like to keep the enums separate. For example, Linux getfacl has various additional filtering flags that wouldn't make sense in the context of a write operation. # The new objects are following patterns that we've started to use recently on things like the cache management APIs. I made the objects immutable and provided builders to avoid an explosion of multiple constructors. # I'm reusing {{FsAction}} in the ACL model. This class is perfect for representing the permissions portion of an ACL entry, and it has convenience methods for computing union and intersection of permissions, which will help later. I've expanded visiblity of the class from {{LimitedPrivate(\{"HDFS"\})}}/{{Unstable}} to {{Public}}/{{Stable}}. I checked revision history, and this class actually has been quite stable. The last code change was 5 years ago, and that was an internal implementation change that didn't alter the interface. I see very little risk in expanding the visibility of this class. The branch hasn't deviated from trunk yet, so I'm going to submit this for a Jenkins run. > FileSystem API for ACLs. > ------------------------ > > Key: HDFS-5594 > URL: https://issues.apache.org/jira/browse/HDFS-5594 > Project: Hadoop HDFS > Issue Type: Sub-task > Components: hdfs-client > Affects Versions: HDFS ACLs (HDFS-4685) > Reporter: Chris Nauroth > Assignee: Chris Nauroth > Attachments: HDFS-5594.1.patch > > > Add new methods to {{FileSystem}} for manipulating ACLs. -- This message was sent by Atlassian JIRA (v6.1#6144)