Uploaded image for project: 'Hadoop Common'
  1. Hadoop Common
  2. HADOOP-12081

Fix UserGroupInformation.java to support 64-bit zLinux

    Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 2.6.0
    • Fix Version/s: 2.8.0, 3.0.0-alpha1
    • Component/s: security
    • Labels:
    • Environment:

      zLinux

    • Target Version/s:

      Description

      Currently the 64 bit check in security/UserGroupInformation.java uses os.arch and checks for "64". s390x is returned on IBM's z platform: s390x is 64 bit. Without this change, if we try to use HDFS with Spark, we get a fatal error (unable to login as we can't find a login class).

      This address fixes said issue by identifying s390x as a 64 bit platform and thus allowing Spark to run on zLinux. A simple fix with very big implications!

        Activity

        Hide
        gliptak Gabor Liptak added a comment -
        Show
        gliptak Gabor Liptak added a comment - Based on http://stackoverflow.com/a/2269242/304690 the getOSLoginModuleName() in https://github.com/apache/hadoop/blob/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/UserGroupInformation.java might not be correctly detecting 32-bit Java installed on Windows x64
        Hide
        gliptak Gabor Liptak added a comment -

        https://github.com/apache/commons-lang/blob/master/src/main/java/org/apache/commons/lang3/SystemUtils.java has some of this recognition functionality, but missing 64bit and zOS functions.
        I opened LANG-1145 and LANG-1146 to discuss.

        Show
        gliptak Gabor Liptak added a comment - https://github.com/apache/commons-lang/blob/master/src/main/java/org/apache/commons/lang3/SystemUtils.java has some of this recognition functionality, but missing 64bit and zOS functions. I opened LANG-1145 and LANG-1146 to discuss.
        Hide
        ajisakaa Akira Ajisaka added a comment -

        Attaching a simple patch. Hi Adam Roberts, does the patch work for you?

        Show
        ajisakaa Akira Ajisaka added a comment - Attaching a simple patch. Hi Adam Roberts , does the patch work for you?
        Hide
        ajisakaa Akira Ajisaka added a comment -

        Thanks Gabor Liptak for opening jiras in commons-lang3.

        Show
        ajisakaa Akira Ajisaka added a comment - Thanks Gabor Liptak for opening jiras in commons-lang3.
        Hide
        aroberts Adam Roberts added a comment -

        Yep, the patch contains the fix that I've tested works on zLinux for us

        Show
        aroberts Adam Roberts added a comment - Yep, the patch contains the fix that I've tested works on zLinux for us
        Hide
        ajisakaa Akira Ajisaka added a comment -

        Thanks Adam Roberts for testing!

        Show
        ajisakaa Akira Ajisaka added a comment - Thanks Adam Roberts for testing!
        Hide
        gliptak Gabor Liptak added a comment -

        Akira Ajisaka I didn't get any feedback on the commons-lang3 JIRAs ...

        Show
        gliptak Gabor Liptak added a comment - Akira Ajisaka I didn't get any feedback on the commons-lang3 JIRAs ...
        Hide
        aroberts Adam Roberts added a comment -

        All, when can we realistically expect to see this into a Hadoop release? The implications for the zLinux platform are enormous and code that isn't run on said platform won't be impacted in the slightest (thus having zero impact to the community but a BIG impact for our Spark on zLinux efforts)

        Show
        aroberts Adam Roberts added a comment - All, when can we realistically expect to see this into a Hadoop release? The implications for the zLinux platform are enormous and code that isn't run on said platform won't be impacted in the slightest (thus having zero impact to the community but a BIG impact for our Spark on zLinux efforts)
        Hide
        ajisakaa Akira Ajisaka added a comment -

        I'd like to include the patch in 2.8 release. Steve Loughran and Allen Wittenauer, would you review the patch?

        Show
        ajisakaa Akira Ajisaka added a comment - I'd like to include the patch in 2.8 release. Steve Loughran and Allen Wittenauer , would you review the patch?
        Hide
        hadoopqa Hadoop QA added a comment -



        -1 overall



        Vote Subsystem Runtime Comment
        0 pre-patch 16m 25s Pre-patch trunk compilation is healthy.
        +1 @author 0m 0s The patch does not contain any @author tags.
        -1 tests included 0m 0s The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch.
        +1 javac 7m 34s There were no new javac warning messages.
        +1 javadoc 9m 32s There were no new javadoc warning messages.
        +1 release audit 0m 22s The applied patch does not increase the total number of release audit warnings.
        +1 checkstyle 1m 4s There were no new checkstyle issues.
        +1 whitespace 0m 0s The patch has no lines that end in whitespace.
        +1 install 1m 21s mvn install still works.
        +1 eclipse:eclipse 0m 33s The patch built with eclipse:eclipse.
        +1 findbugs 1m 51s The patch does not introduce any new Findbugs (version 3.0.0) warnings.
        +1 common tests 22m 13s Tests passed in hadoop-common.
            60m 58s  



        Subsystem Report/Notes
        Patch URL http://issues.apache.org/jira/secure/attachment/12739330/HADOOP-12081.001.patch
        Optional Tests javadoc javac unit findbugs checkstyle
        git revision trunk / 0a16ee6
        hadoop-common test log https://builds.apache.org/job/PreCommit-HADOOP-Build/7281/artifact/patchprocess/testrun_hadoop-common.txt
        Test Results https://builds.apache.org/job/PreCommit-HADOOP-Build/7281/testReport/
        Java 1.7.0_55
        uname Linux asf906.gq1.ygridcore.net 3.13.0-36-lowlatency #63-Ubuntu SMP PREEMPT Wed Sep 3 21:56:12 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
        Console output https://builds.apache.org/job/PreCommit-HADOOP-Build/7281/console

        This message was automatically generated.

        Show
        hadoopqa Hadoop QA added a comment - -1 overall Vote Subsystem Runtime Comment 0 pre-patch 16m 25s Pre-patch trunk compilation is healthy. +1 @author 0m 0s The patch does not contain any @author tags. -1 tests included 0m 0s The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch. +1 javac 7m 34s There were no new javac warning messages. +1 javadoc 9m 32s There were no new javadoc warning messages. +1 release audit 0m 22s The applied patch does not increase the total number of release audit warnings. +1 checkstyle 1m 4s There were no new checkstyle issues. +1 whitespace 0m 0s The patch has no lines that end in whitespace. +1 install 1m 21s mvn install still works. +1 eclipse:eclipse 0m 33s The patch built with eclipse:eclipse. +1 findbugs 1m 51s The patch does not introduce any new Findbugs (version 3.0.0) warnings. +1 common tests 22m 13s Tests passed in hadoop-common.     60m 58s   Subsystem Report/Notes Patch URL http://issues.apache.org/jira/secure/attachment/12739330/HADOOP-12081.001.patch Optional Tests javadoc javac unit findbugs checkstyle git revision trunk / 0a16ee6 hadoop-common test log https://builds.apache.org/job/PreCommit-HADOOP-Build/7281/artifact/patchprocess/testrun_hadoop-common.txt Test Results https://builds.apache.org/job/PreCommit-HADOOP-Build/7281/testReport/ Java 1.7.0_55 uname Linux asf906.gq1.ygridcore.net 3.13.0-36-lowlatency #63-Ubuntu SMP PREEMPT Wed Sep 3 21:56:12 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux Console output https://builds.apache.org/job/PreCommit-HADOOP-Build/7281/console This message was automatically generated.
        Hide
        stevel@apache.org Steve Loughran added a comment -

        I'm always worried about going near UGI, but this looks low risk. it extends the 64 bit string comparison with one for the z390 tag, which would only cause confusion with an OS with the same tag on a different width architecture.

        +1

        Show
        stevel@apache.org Steve Loughran added a comment - I'm always worried about going near UGI, but this looks low risk. it extends the 64 bit string comparison with one for the z390 tag, which would only cause confusion with an OS with the same tag on a different width architecture. +1
        Hide
        ajisakaa Akira Ajisaka added a comment -

        I've committed this patch to trunk and branch-2. Thanks Adam Roberts and Steve Loughran for the reviews.

        Show
        ajisakaa Akira Ajisaka added a comment - I've committed this patch to trunk and branch-2. Thanks Adam Roberts and Steve Loughran for the reviews.
        Hide
        hudson Hudson added a comment -

        FAILURE: Integrated in Hadoop-trunk-Commit #8188 (See https://builds.apache.org/job/Hadoop-trunk-Commit/8188/)
        HADOOP-12081. Fix UserGroupInformation.java to support 64-bit zLinux. (aajisaka) (aajisaka: rev 773c670943757681feeafb227a2d0c29d48f38f1)

        • hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/UserGroupInformation.java
        • hadoop-common-project/hadoop-common/CHANGES.txt
        Show
        hudson Hudson added a comment - FAILURE: Integrated in Hadoop-trunk-Commit #8188 (See https://builds.apache.org/job/Hadoop-trunk-Commit/8188/ ) HADOOP-12081 . Fix UserGroupInformation.java to support 64-bit zLinux. (aajisaka) (aajisaka: rev 773c670943757681feeafb227a2d0c29d48f38f1) hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/UserGroupInformation.java hadoop-common-project/hadoop-common/CHANGES.txt
        Hide
        hudson Hudson added a comment -

        FAILURE: Integrated in Hadoop-Yarn-trunk-Java8 #263 (See https://builds.apache.org/job/Hadoop-Yarn-trunk-Java8/263/)
        HADOOP-12081. Fix UserGroupInformation.java to support 64-bit zLinux. (aajisaka) (aajisaka: rev 773c670943757681feeafb227a2d0c29d48f38f1)

        • hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/UserGroupInformation.java
        • hadoop-common-project/hadoop-common/CHANGES.txt
        Show
        hudson Hudson added a comment - FAILURE: Integrated in Hadoop-Yarn-trunk-Java8 #263 (See https://builds.apache.org/job/Hadoop-Yarn-trunk-Java8/263/ ) HADOOP-12081 . Fix UserGroupInformation.java to support 64-bit zLinux. (aajisaka) (aajisaka: rev 773c670943757681feeafb227a2d0c29d48f38f1) hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/UserGroupInformation.java hadoop-common-project/hadoop-common/CHANGES.txt
        Hide
        hudson Hudson added a comment -

        SUCCESS: Integrated in Hadoop-Yarn-trunk #993 (See https://builds.apache.org/job/Hadoop-Yarn-trunk/993/)
        HADOOP-12081. Fix UserGroupInformation.java to support 64-bit zLinux. (aajisaka) (aajisaka: rev 773c670943757681feeafb227a2d0c29d48f38f1)

        • hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/UserGroupInformation.java
        • hadoop-common-project/hadoop-common/CHANGES.txt
        Show
        hudson Hudson added a comment - SUCCESS: Integrated in Hadoop-Yarn-trunk #993 (See https://builds.apache.org/job/Hadoop-Yarn-trunk/993/ ) HADOOP-12081 . Fix UserGroupInformation.java to support 64-bit zLinux. (aajisaka) (aajisaka: rev 773c670943757681feeafb227a2d0c29d48f38f1) hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/UserGroupInformation.java hadoop-common-project/hadoop-common/CHANGES.txt
        Hide
        hudson Hudson added a comment -

        FAILURE: Integrated in Hadoop-Hdfs-trunk #2190 (See https://builds.apache.org/job/Hadoop-Hdfs-trunk/2190/)
        HADOOP-12081. Fix UserGroupInformation.java to support 64-bit zLinux. (aajisaka) (aajisaka: rev 773c670943757681feeafb227a2d0c29d48f38f1)

        • hadoop-common-project/hadoop-common/CHANGES.txt
        • hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/UserGroupInformation.java
        Show
        hudson Hudson added a comment - FAILURE: Integrated in Hadoop-Hdfs-trunk #2190 (See https://builds.apache.org/job/Hadoop-Hdfs-trunk/2190/ ) HADOOP-12081 . Fix UserGroupInformation.java to support 64-bit zLinux. (aajisaka) (aajisaka: rev 773c670943757681feeafb227a2d0c29d48f38f1) hadoop-common-project/hadoop-common/CHANGES.txt hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/UserGroupInformation.java
        Hide
        hudson Hudson added a comment -

        FAILURE: Integrated in Hadoop-Hdfs-trunk-Java8 #252 (See https://builds.apache.org/job/Hadoop-Hdfs-trunk-Java8/252/)
        HADOOP-12081. Fix UserGroupInformation.java to support 64-bit zLinux. (aajisaka) (aajisaka: rev 773c670943757681feeafb227a2d0c29d48f38f1)

        • hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/UserGroupInformation.java
        • hadoop-common-project/hadoop-common/CHANGES.txt
        Show
        hudson Hudson added a comment - FAILURE: Integrated in Hadoop-Hdfs-trunk-Java8 #252 (See https://builds.apache.org/job/Hadoop-Hdfs-trunk-Java8/252/ ) HADOOP-12081 . Fix UserGroupInformation.java to support 64-bit zLinux. (aajisaka) (aajisaka: rev 773c670943757681feeafb227a2d0c29d48f38f1) hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/UserGroupInformation.java hadoop-common-project/hadoop-common/CHANGES.txt
        Hide
        hudson Hudson added a comment -

        FAILURE: Integrated in Hadoop-Mapreduce-trunk-Java8 #260 (See https://builds.apache.org/job/Hadoop-Mapreduce-trunk-Java8/260/)
        HADOOP-12081. Fix UserGroupInformation.java to support 64-bit zLinux. (aajisaka) (aajisaka: rev 773c670943757681feeafb227a2d0c29d48f38f1)

        • hadoop-common-project/hadoop-common/CHANGES.txt
        • hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/UserGroupInformation.java
        Show
        hudson Hudson added a comment - FAILURE: Integrated in Hadoop-Mapreduce-trunk-Java8 #260 (See https://builds.apache.org/job/Hadoop-Mapreduce-trunk-Java8/260/ ) HADOOP-12081 . Fix UserGroupInformation.java to support 64-bit zLinux. (aajisaka) (aajisaka: rev 773c670943757681feeafb227a2d0c29d48f38f1) hadoop-common-project/hadoop-common/CHANGES.txt hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/UserGroupInformation.java
        Hide
        hudson Hudson added a comment -

        SUCCESS: Integrated in Hadoop-Mapreduce-trunk #2209 (See https://builds.apache.org/job/Hadoop-Mapreduce-trunk/2209/)
        HADOOP-12081. Fix UserGroupInformation.java to support 64-bit zLinux. (aajisaka) (aajisaka: rev 773c670943757681feeafb227a2d0c29d48f38f1)

        • hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/UserGroupInformation.java
        • hadoop-common-project/hadoop-common/CHANGES.txt
        Show
        hudson Hudson added a comment - SUCCESS: Integrated in Hadoop-Mapreduce-trunk #2209 (See https://builds.apache.org/job/Hadoop-Mapreduce-trunk/2209/ ) HADOOP-12081 . Fix UserGroupInformation.java to support 64-bit zLinux. (aajisaka) (aajisaka: rev 773c670943757681feeafb227a2d0c29d48f38f1) hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/UserGroupInformation.java hadoop-common-project/hadoop-common/CHANGES.txt

          People

          • Assignee:
            ajisakaa Akira Ajisaka
            Reporter:
            aroberts Adam Roberts
          • Votes:
            0 Vote for this issue
            Watchers:
            9 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development