hadoop-hdfs-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hadoop QA (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HDFS-1249) with fuse-dfs, chown which only has owner (or only group) argument fails with Input/output error.
Date Tue, 17 Jul 2012 09:14:35 GMT

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

Hadoop QA commented on HDFS-1249:
---------------------------------

-1 overall.  Here are the results of testing the latest attachment 
  http://issues.apache.org/jira/secure/attachment/12536789/HDFS-1249.001.patch
  against trunk revision .

    +1 @author.  The patch does not contain any @author tags.

    +1 tests included.  The patch appears to include 1 new or modified test files.

    +1 javac.  The applied patch does not increase the total number of javac compiler warnings.

    +1 javadoc.  The javadoc tool did not generate any warning messages.

    +1 eclipse:eclipse.  The patch built with eclipse:eclipse.

    +1 findbugs.  The patch does not introduce any new Findbugs (version 1.3.9) warnings.

    +1 release audit.  The applied patch does not increase the total number of release audit
warnings.

    -1 core tests.  The patch failed these unit tests in hadoop-hdfs-project/hadoop-hdfs:

                  org.apache.hadoop.hdfs.TestCrcCorruption

    +1 contrib tests.  The patch passed contrib unit tests.

Test results: https://builds.apache.org/job/PreCommit-HDFS-Build/2842//testReport/
Console output: https://builds.apache.org/job/PreCommit-HDFS-Build/2842//console

This message is automatically generated.
                
> with fuse-dfs, chown which only has owner (or only group) argument fails with Input/output
error.
> -------------------------------------------------------------------------------------------------
>
>                 Key: HDFS-1249
>                 URL: https://issues.apache.org/jira/browse/HDFS-1249
>             Project: Hadoop HDFS
>          Issue Type: Bug
>          Components: contrib/fuse-dfs
>    Affects Versions: 0.20.1, 0.20.2
>         Environment: x86 linux (ubuntu 10.04)
>            Reporter: matsusaka kentaro
>            Assignee: Colin Patrick McCabe
>            Priority: Minor
>              Labels: fuse
>         Attachments: HDFS-1249.001.patch, HDFS1249.1
>
>
> with fuse-dfs, chown which only has owner (or only group) argument fails with Input/output
error.
> ----------
> /mnt/hdfs/tmp# chown root file1
> chown: changing ownership of `file1': Input/output error
> /mnt/hdfs/tmp# chown root:root file1
> /mnt/hdfs/tmp# chown :root file1
> chown: changing group of `file1': Input/output error
> ----------
> I think it should be treated as unchanged for missing part(owner or group) instead of
returning an error.
> I took fuse_dfs log and it is saying
> ----------
> unique: 25, opcode: SETATTR (4), nodeid: 14, insize: 128
> chown /tmp/file1 0 4294967295
> could not lookup group -1
>    unique: 25, error: -5 (Input/output error), outsize: 16
> unique: 26, opcode: SETATTR (4), nodeid: 14, insize: 128
> chown /tmp/file1 0 0
> getattr /tmp/file1
>    unique: 26, success, outsize: 120
> unique: 27, opcode: SETATTR (4), nodeid: 14, insize: 128
> chown /tmp/file1 4294967295 0
> could not lookup userid -1
>    unique: 27, error: -5 (Input/output error), outsize: 16
> ----------
> therefore this should happen because dfs_chown() in src/contrib/fuse-dfs/src/fuse_impls_chown.c
has following
> ----------
> ...
>   user = getUsername(uid);
>   if (NULL == user) {
>     syslog(LOG_ERR,"Could not lookup the user id string %d\n",(int)uid); 
>     fprintf(stderr, "could not lookup userid %d\n", (int)uid); 
>     ret = -EIO;
>   }
>   if (0 == ret) {
>     group = getGroup(gid);
>     if (group == NULL) {
>       syslog(LOG_ERR,"Could not lookup the group id string %d\n",(int)gid); 
>       fprintf(stderr, "could not lookup group %d\n", (int)gid); 
>       ret = -EIO;
>     } 
>   }
> ...
> ----------
> but actually, hdfsChown() in src/c++/libhdfs/hdfs.c has this
> ----------
> ...
>     if (owner == NULL && group == NULL) {
>       fprintf(stderr, "Both owner and group cannot be null in chown");
>       errno = EINVAL;
>       return -1;
>     }
> ...
> ----------
> and also, setOwner seems allowing NULL
> ----------
> username - If it is null, the original username remains unchanged.
> groupname - If it is null, the original groupname remains unchanged.
> ----------
> according to the api document.
> therefore, I think fuse_impls_chown.c should not treat only user(or only group) lookup
fail as an error.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message