[
https://issues.apache.org/jira/browse/HADOOP-1298?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12498422
]
dhruba borthakur commented on HADOOP-1298:
------------------------------------------
Patch looks good. Here are a few comments that I have:
1. PosixConstant.init() invokes conf.get("dfs.default.permissions", "-1");
It might be a good idea to make it conf.get("dfs.default.permissions",
"777");
2. Why is OWNER_WRITEABLE, OWNER_READABLE public? Can we make them package
private?
3. FsShell allows changing permissions for a group of files. If it encounters
an error for one file, it stops processing the remaining files.
4. DFSClient.groups() may invoke checkOpen() before invoking the RPC to the
namenode.
5. Permissions.owner and Permissions.ownerGroup are Integers and not native
ints. This increases memory consumption in the namenode. I am guessing that you
have made them Integers because they are shared objects that are also inserted
into HashMaps in Users.java. Is that right?
6. FSEditLog, you have
if (logversion == LAYOUT) {
perm.readFields();
}
instead, it should be
if (logversion <= -5) {
perm.readFields();
}
7. You have added another parameter to logEdit() to write the permission
object. In future a few more fields will be added to the INODE (e.g. creation
times, mod times, etc). This will mean that the number of parameters to
logEdit() will increase significantly. Instead, you could leave logEdit() as it
is and pass in an array as the first parameter. This trick is already used by
logCreateFile(). Please see if we can do that same for the newly introduced
methods.
8. DistributedFileSystem.initialize() extracts the user from the conf file. It
also extracts the user from the uri that is being passed in as a parameter
(e.g. String user = uri.getUserInfo()). It uses the user from the uri to
construct the HDFS URI. Is this intended? I am thinking that we should be using
the user extracted from the conf file to create the HDFS uri.
9. DistributedFileSystem.getPath has been renamed to
DistributedFileSystem.getUTF8Path(). This might not be very related to this
issue. This changed caused quite a few code lines to get changed. Maybe we can
defer it to hadoop-1283.
10. NamenodeFsck invokes new ClientContext("root") for many of the files that
it encounters. Maybe keeping a static constant for root will help reduce memory
usage.
11. Some minor changes to bin/hadoop and build.xml that is intended for
debugging.
12. I did not see any code that prevents an user from reading a file that
he/she does not have access for. Similarly, deleting a file does not check for
access permissions. What did I miss? can you pl point me to the relevant code
for this one?
13. The code seems to allow setting permissions on directories. Is this
intended? This means that users will expect permissions to enforced for
directory traversal as well. Also, questions would be raised about inheriting
permissions from directories. My vote would be to not support permissions on
directories at all.
> adding user info to file
> ------------------------
>
> Key: HADOOP-1298
> URL: https://issues.apache.org/jira/browse/HADOOP-1298
> Project: Hadoop
> Issue Type: New Feature
> Components: dfs, fs
> Reporter: Kurtis Heimerl
> Attachments: hadoop-user-munncha.patch, hadoop-user-munncha.patch,
> hadoop-user-munncha.patch, hadoop-user-munncha.patch10,
> hadoop-user-munncha.patch11, hadoop-user-munncha.patch12,
> hadoop-user-munncha.patch13, hadoop-user-munncha.patch14,
> hadoop-user-munncha.patch15, hadoop-user-munncha.patch16,
> hadoop-user-munncha.patch4, hadoop-user-munncha.patch5,
> hadoop-user-munncha.patch6, hadoop-user-munncha.patch7,
> hadoop-user-munncha.patch8, hadoop-user-munncha.patch9
>
>
> I'm working on adding a permissions model to hadoop's DFS. The first step is
> this change, which associates user info with files. Following this I'll
> assoicate permissions info, then block methods based on that user info, then
> authorization of the user info.
> So, right now i've implemented adding user info to files. I'm looking for
> feedback before I clean this up and make it offical.
> I wasn't sure what release, i'm working off trunk.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.