Bug 951305
Summary: | Hadoop benchmark TestDFSIO fails with ERROR security.UserGroupInformation: PriviledgedActionException as:root cause:java.io.IOException: The ownership/permissions on the staging directory glusterfs://.../.staging is not as expected. | ||
---|---|---|---|
Product: | [Community] GlusterFS | Reporter: | Diane Feddema <dfeddema> |
Component: | gluster-hadoop | Assignee: | Bradley Childs <bchilds> |
Status: | CLOSED CURRENTRELEASE | QA Contact: | Martin Kudlej <mkudlej> |
Severity: | low | Docs Contact: | |
Priority: | medium | ||
Version: | mainline | CC: | aavati, eboyd, jvyas, matt, mkudlej, rhs-bugs, vbellur |
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2014-03-03 16:31:38 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: | |||
Bug Depends On: | |||
Bug Blocks: | 1057253 |
Description
Diane Feddema
2013-04-12 03:33:51 UTC
The problem is that we were not reading in hadoop API assigned privileges on ** writes ** of directories and files in the gluster plugin. It turns out that newer release of hadoop (branch-1) actually fix this for you: By contrasting these two files, you can see that newer hadoop (branch-1) versions actually defensively set the permissions correctly: https://svn.apache.org/repos/asf/hadoop/common/branches/branch-1/src/mapred/org/apache/hadoop/mapreduce/JobSubmissionFiles.java Whereas older hadoop versions do not: http://javasourcecode.org/html/open-source/hadoop/hadoop-0.20.203.0/org/apache/hadoop/mapreduce/JobSubmissionFiles.java.html As mentioned above, for the solution you can: 1) chmod the .staging directly yourself, or use umask to change the way the directory privileges work 2) compile into your existing hadoop distro (if you have the source, not sure how cloudera works here) the branch-1 JobSubmissionFiles.java logic above. This branch in development is expected to remedy the issue (not fully tested). https://github.com/gluster/hadoop-glusterfs/branches Adding setOwner will be necessary for maintining group privileges - this is necessary for CLI unit tests in this ticket which I'm working on separately: https://bugzilla.redhat.com/show_bug.cgi?id=949200. /** * Adopted from RawLocalFileSystem to make absolute path. */ @Override public void setOwner(Path p, String username, String groupname) throws IOException { if (username == null && groupname == null) { throw new IOException("username == null && groupname == null"); } if (username == null) { execCommand(new File(makeAbsolute(p).toUri()), Shell.SET_GROUP_COMMAND, groupname); } else { //OWNER[:[GROUP]] String s = username + (groupname == null? "": ":" + groupname); execCommand(new File(makeAbsolute(p).toUri()), Shell.SET_OWNER_COMMAND, s); } } This bug is now fixed in the pending patch https://github.com/gluster/hadoop-glusterfs/pull/27/commits |