Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 0.19.1
    • Fix Version/s: 0.19.2
    • Component/s: None
    • Labels:
      None
    • Hadoop Flags:
      Reviewed

      Description

      Due to a change in the package name of the AccessControlException, libhdfs no longer sets errno=EACCES when a permission occurs.

      1. HADOOP-5579.patch
        0.8 kB
        Brian Bockelman

        Issue Links

          Activity

          Hide
          Chris Douglas added a comment -

          Why did you commit this without a test or justification?

          You're right; it would be useful to have unit tests validating errno, particularly since it's already been broken accidentally.

          Show
          Chris Douglas added a comment - Why did you commit this without a test or justification? You're right; it would be useful to have unit tests validating errno, particularly since it's already been broken accidentally.
          Hide
          Nigel Daley added a comment -

          Chris,

          -1 tests included. The patch doesn't appear to include any new or modified tests.
          Please justify why no tests are needed for this patch.

          Why did you commit this without a test or justification?

          Show
          Nigel Daley added a comment - Chris, -1 tests included. The patch doesn't appear to include any new or modified tests. Please justify why no tests are needed for this patch. Why did you commit this without a test or justification?
          Hide
          Hudson added a comment -

          Integrated in Hadoop-trunk #828 (See http://hudson.zones.apache.org/hudson/job/Hadoop-trunk/828/)
          Move to 0.19.2

          Show
          Hudson added a comment - Integrated in Hadoop-trunk #828 (See http://hudson.zones.apache.org/hudson/job/Hadoop-trunk/828/ ) Move to 0.19.2
          Hide
          Chris Douglas added a comment -

          Committed to 0.19 and 0.20 branches

          Show
          Chris Douglas added a comment - Committed to 0.19 and 0.20 branches
          Hide
          Hudson added a comment -

          Integrated in Hadoop-trunk #827 (See http://hudson.zones.apache.org/hudson/job/Hadoop-trunk/827/)
          . Set errno correctly in libhdfs for permission, quota, and FNF
          conditions. Contributed by Brian Bockelman.

          Show
          Hudson added a comment - Integrated in Hadoop-trunk #827 (See http://hudson.zones.apache.org/hudson/job/Hadoop-trunk/827/ ) . Set errno correctly in libhdfs for permission, quota, and FNF conditions. Contributed by Brian Bockelman.
          Hide
          Brian Bockelman added a comment -

          Hey Chris,

          These would be good additions to either 0.19.x or 0.20.x branches; they should apply cleanly to both (maybe with offsets). The exception detection isn't done through string comparison so the fact that FNF doesn't get thrown in 19/20 should hurt anything.

          I don't know how critical it is or what policies are needed to apply patches to a branch instead of trunk. I do know that this patch is in our locally-maintained patchset.

          Brian

          Show
          Brian Bockelman added a comment - Hey Chris, These would be good additions to either 0.19.x or 0.20.x branches; they should apply cleanly to both (maybe with offsets). The exception detection isn't done through string comparison so the fact that FNF doesn't get thrown in 19/20 should hurt anything. I don't know how critical it is or what policies are needed to apply patches to a branch instead of trunk. I do know that this patch is in our locally-maintained patchset. Brian
          Hide
          Chris Douglas added a comment -

          I committed this. Thanks, Brian

          I only committed this to 0.21 since the FNF exception is only thrown in that branch, per HADOOP-5581. However, not setting EACCES remains a problem in 0.19 per HADOOP-4393, right? Should the current patch be committed further back or do the 0.19 and 0.20 branches need a different patch?

          Show
          Chris Douglas added a comment - I committed this. Thanks, Brian I only committed this to 0.21 since the FNF exception is only thrown in that branch, per HADOOP-5581 . However, not setting EACCES remains a problem in 0.19 per HADOOP-4393 , right? Should the current patch be committed further back or do the 0.19 and 0.20 branches need a different patch?
          Hide
          Raghu Angadi added a comment -

          +1. I don't use libhdfs myself, but the patch makes sense. Do these error codes exist on other platforms (Solaris, etc)? If Hudson compiles libhdfs, then it is already tested for Solaris.

          Show
          Raghu Angadi added a comment - +1. I don't use libhdfs myself, but the patch makes sense. Do these error codes exist on other platforms (Solaris, etc)? If Hudson compiles libhdfs, then it is already tested for Solaris.
          Hide
          Brian Bockelman added a comment -

          Bump – can someone take a look at this again? I think it's ready to go.

          Show
          Brian Bockelman added a comment - Bump – can someone take a look at this again? I think it's ready to go.
          Hide
          Brian Bockelman added a comment -

          Contrib test failure appears to be unrelated?

          Show
          Brian Bockelman added a comment - Contrib test failure appears to be unrelated?
          Hide
          Hadoop QA added a comment -

          -1 overall. Here are the results of testing the latest attachment
          http://issues.apache.org/jira/secure/attachment/12403721/HADOOP-5579.patch
          against trunk revision 759398.

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

          -1 tests included. The patch doesn't appear to include any new or modified tests.
          Please justify why no tests are needed for this patch.

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

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

          +1 findbugs. The patch does not introduce any new Findbugs warnings.

          +1 Eclipse classpath. The patch retains Eclipse classpath integrity.

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

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

          -1 contrib tests. The patch failed contrib unit tests.

          Test results: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch-minerva.apache.org/72/testReport/
          Findbugs warnings: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch-minerva.apache.org/72/artifact/trunk/build/test/findbugs/newPatchFindbugsWarnings.html
          Checkstyle results: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch-minerva.apache.org/72/artifact/trunk/build/test/checkstyle-errors.html
          Console output: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch-minerva.apache.org/72/console

          This message is automatically generated.

          Show
          Hadoop QA added a comment - -1 overall. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12403721/HADOOP-5579.patch against trunk revision 759398. +1 @author. The patch does not contain any @author tags. -1 tests included. The patch doesn't appear to include any new or modified tests. Please justify why no tests are needed for this patch. +1 javadoc. The javadoc tool did not generate any warning messages. +1 javac. The applied patch does not increase the total number of javac compiler warnings. +1 findbugs. The patch does not introduce any new Findbugs warnings. +1 Eclipse classpath. The patch retains Eclipse classpath integrity. +1 release audit. The applied patch does not increase the total number of release audit warnings. +1 core tests. The patch passed core unit tests. -1 contrib tests. The patch failed contrib unit tests. Test results: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch-minerva.apache.org/72/testReport/ Findbugs warnings: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch-minerva.apache.org/72/artifact/trunk/build/test/findbugs/newPatchFindbugsWarnings.html Checkstyle results: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch-minerva.apache.org/72/artifact/trunk/build/test/checkstyle-errors.html Console output: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch-minerva.apache.org/72/console This message is automatically generated.
          Hide
          Brian Bockelman added a comment -

          Hey Chris,

          I'd rather keep the two separate - this one is for libhdfs changes needed, the others are for HDFS changes needed.

          At a more practical level, I don't know what I need to do to fix HADOOP-5580/5581 – haven't hacked the code there yet. I was hoping one of the core devs would have an idea.

          Brian

          Show
          Brian Bockelman added a comment - Hey Chris, I'd rather keep the two separate - this one is for libhdfs changes needed, the others are for HDFS changes needed. At a more practical level, I don't know what I need to do to fix HADOOP-5580 /5581 – haven't hacked the code there yet. I was hoping one of the core devs would have an idea. Brian
          Hide
          Chris Douglas added a comment -

          It would make sense to either include the errno support for HADOOP-5580 and HADOOP-5581 as part of those patches, or as part of this issue once those two are resolved.

          Show
          Chris Douglas added a comment - It would make sense to either include the errno support for HADOOP-5580 and HADOOP-5581 as part of those patches, or as part of this issue once those two are resolved.
          Hide
          Craig Macdonald added a comment -

          +1 for this patch. Looks good.

          Show
          Craig Macdonald added a comment - +1 for this patch. Looks good.
          Hide
          Brian Bockelman added a comment -

          Fixes the AccessControlException.

          Also correctly sets the errno for QuotaExceededException and FileNotFoundException. Unfortunately, DFSClient does not correctly raise these exceptions (yet).

          Show
          Brian Bockelman added a comment - Fixes the AccessControlException. Also correctly sets the errno for QuotaExceededException and FileNotFoundException. Unfortunately, DFSClient does not correctly raise these exceptions (yet).

            People

            • Assignee:
              Brian Bockelman
              Reporter:
              Brian Bockelman
            • Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development