Uploaded image for project: 'Hadoop HDFS'
  1. Hadoop HDFS
  2. HDFS-12171

Reduce IIP object allocations for inode lookup

    Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 2.7.0
    • Fix Version/s: 2.9.0, 3.0.0-beta1, 2.8.3
    • Component/s: namenode
    • Labels:
      None
    • Target Version/s:
    • Hadoop Flags:
      Reviewed

      Description

      IIP#getReadOnlyINodes is invoked frequently for EZ and EC lookups. It allocates unnecessary objects to make the primitive array an immutable array list. IIP already has a method for indexed inode retrieval that can be tweaked to further improve performance.

      1. HDFS-12171.branch-2.patch
        4 kB
        Daryn Sharp
      2. HDFS-12171.patch
        5 kB
        Daryn Sharp

        Activity

        Hide
        hudson Hudson added a comment -

        SUCCESS: Integrated in Jenkins build Hadoop-trunk-Commit #12053 (See https://builds.apache.org/job/Hadoop-trunk-Commit/12053/)
        HDFS-12171. Reduce IIP object allocations for inode lookup. Contributed (kihwal: rev a68b5b31cf846c0fc94c430bafd07a9bca369234)

        • (edit) hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestSnapshotPathINodes.java
        • (edit) hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/EncryptionZoneManager.java
        • (edit) hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirErasureCodingOp.java
        • (edit) hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/INodesInPath.java
        Show
        hudson Hudson added a comment - SUCCESS: Integrated in Jenkins build Hadoop-trunk-Commit #12053 (See https://builds.apache.org/job/Hadoop-trunk-Commit/12053/ ) HDFS-12171 . Reduce IIP object allocations for inode lookup. Contributed (kihwal: rev a68b5b31cf846c0fc94c430bafd07a9bca369234) (edit) hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestSnapshotPathINodes.java (edit) hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/EncryptionZoneManager.java (edit) hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirErasureCodingOp.java (edit) hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/INodesInPath.java
        Hide
        kihwal Kihwal Lee added a comment -

        I've committed this to trunk, branch-2 and branch-2.8.

        Show
        kihwal Kihwal Lee added a comment - I've committed this to trunk, branch-2 and branch-2.8.
        Hide
        kihwal Kihwal Lee added a comment -

        +1 Looks like a straightforward optimization.

        Show
        kihwal Kihwal Lee added a comment - +1 Looks like a straightforward optimization.
        Hide
        hadoopqa Hadoop QA added a comment -
        -1 overall



        Vote Subsystem Runtime Comment
        0 reexec 12m 26s Docker mode activated.
              Prechecks
        +1 @author 0m 0s The patch does not contain any @author tags.
        +1 test4tests 0m 0s The patch appears to include 1 new or modified test files.
              branch-2 Compile Tests
        +1 mvninstall 9m 7s branch-2 passed
        +1 compile 0m 41s branch-2 passed with JDK v1.8.0_131
        +1 compile 0m 43s branch-2 passed with JDK v1.7.0_131
        +1 checkstyle 0m 28s branch-2 passed
        +1 mvnsite 0m 53s branch-2 passed
        +1 findbugs 2m 0s branch-2 passed
        +1 javadoc 0m 40s branch-2 passed with JDK v1.8.0_131
        +1 javadoc 0m 59s branch-2 passed with JDK v1.7.0_131
              Patch Compile Tests
        +1 mvninstall 0m 44s the patch passed
        +1 compile 0m 37s the patch passed with JDK v1.8.0_131
        +1 javac 0m 37s the patch passed
        +1 compile 0m 41s the patch passed with JDK v1.7.0_131
        +1 javac 0m 41s the patch passed
        +1 checkstyle 0m 25s the patch passed
        +1 mvnsite 0m 50s the patch passed
        +1 whitespace 0m 0s The patch has no whitespace issues.
        +1 findbugs 2m 6s the patch passed
        +1 javadoc 0m 35s the patch passed with JDK v1.8.0_131
        +1 javadoc 0m 56s the patch passed with JDK v1.7.0_131
              Other Tests
        -1 unit 49m 5s hadoop-hdfs in the patch failed with JDK v1.7.0_131.
        +1 asflicense 0m 21s The patch does not generate ASF License warnings.
        137m 5s



        Reason Tests
        JDK v1.7.0_131 Failed junit tests hadoop.hdfs.server.balancer.TestBalancerRPCDelay
          hadoop.hdfs.server.blockmanagement.TestReplicationPolicyWithUpgradeDomain



        Subsystem Report/Notes
        Docker Image:yetus/hadoop:5e40efe
        JIRA Issue HDFS-12171
        JIRA Patch URL https://issues.apache.org/jira/secure/attachment/12878220/HDFS-12171.branch-2.patch
        Optional Tests asflicense compile javac javadoc mvninstall mvnsite unit findbugs checkstyle
        uname Linux 37fb1cba16ae 3.13.0-119-generic #166-Ubuntu SMP Wed May 3 12:18:55 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
        Build tool maven
        Personality /testptch/hadoop/patchprocess/precommit/personality/provided.sh
        git revision branch-2 / e76e7b9
        Default Java 1.7.0_131
        Multi-JDK versions /usr/lib/jvm/java-8-oracle:1.8.0_131 /usr/lib/jvm/java-7-openjdk-amd64:1.7.0_131
        findbugs v3.0.0
        unit https://builds.apache.org/job/PreCommit-HDFS-Build/20358/artifact/patchprocess/patch-unit-hadoop-hdfs-project_hadoop-hdfs-jdk1.7.0_131.txt
        JDK v1.7.0_131 Test Results https://builds.apache.org/job/PreCommit-HDFS-Build/20358/testReport/
        modules C: hadoop-hdfs-project/hadoop-hdfs U: hadoop-hdfs-project/hadoop-hdfs
        Console output https://builds.apache.org/job/PreCommit-HDFS-Build/20358/console
        Powered by Apache Yetus 0.6.0-SNAPSHOT http://yetus.apache.org

        This message was automatically generated.

        Show
        hadoopqa Hadoop QA added a comment - -1 overall Vote Subsystem Runtime Comment 0 reexec 12m 26s Docker mode activated.       Prechecks +1 @author 0m 0s The patch does not contain any @author tags. +1 test4tests 0m 0s The patch appears to include 1 new or modified test files.       branch-2 Compile Tests +1 mvninstall 9m 7s branch-2 passed +1 compile 0m 41s branch-2 passed with JDK v1.8.0_131 +1 compile 0m 43s branch-2 passed with JDK v1.7.0_131 +1 checkstyle 0m 28s branch-2 passed +1 mvnsite 0m 53s branch-2 passed +1 findbugs 2m 0s branch-2 passed +1 javadoc 0m 40s branch-2 passed with JDK v1.8.0_131 +1 javadoc 0m 59s branch-2 passed with JDK v1.7.0_131       Patch Compile Tests +1 mvninstall 0m 44s the patch passed +1 compile 0m 37s the patch passed with JDK v1.8.0_131 +1 javac 0m 37s the patch passed +1 compile 0m 41s the patch passed with JDK v1.7.0_131 +1 javac 0m 41s the patch passed +1 checkstyle 0m 25s the patch passed +1 mvnsite 0m 50s the patch passed +1 whitespace 0m 0s The patch has no whitespace issues. +1 findbugs 2m 6s the patch passed +1 javadoc 0m 35s the patch passed with JDK v1.8.0_131 +1 javadoc 0m 56s the patch passed with JDK v1.7.0_131       Other Tests -1 unit 49m 5s hadoop-hdfs in the patch failed with JDK v1.7.0_131. +1 asflicense 0m 21s The patch does not generate ASF License warnings. 137m 5s Reason Tests JDK v1.7.0_131 Failed junit tests hadoop.hdfs.server.balancer.TestBalancerRPCDelay   hadoop.hdfs.server.blockmanagement.TestReplicationPolicyWithUpgradeDomain Subsystem Report/Notes Docker Image:yetus/hadoop:5e40efe JIRA Issue HDFS-12171 JIRA Patch URL https://issues.apache.org/jira/secure/attachment/12878220/HDFS-12171.branch-2.patch Optional Tests asflicense compile javac javadoc mvninstall mvnsite unit findbugs checkstyle uname Linux 37fb1cba16ae 3.13.0-119-generic #166-Ubuntu SMP Wed May 3 12:18:55 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux Build tool maven Personality /testptch/hadoop/patchprocess/precommit/personality/provided.sh git revision branch-2 / e76e7b9 Default Java 1.7.0_131 Multi-JDK versions /usr/lib/jvm/java-8-oracle:1.8.0_131 /usr/lib/jvm/java-7-openjdk-amd64:1.7.0_131 findbugs v3.0.0 unit https://builds.apache.org/job/PreCommit-HDFS-Build/20358/artifact/patchprocess/patch-unit-hadoop-hdfs-project_hadoop-hdfs-jdk1.7.0_131.txt JDK v1.7.0_131 Test Results https://builds.apache.org/job/PreCommit-HDFS-Build/20358/testReport/ modules C: hadoop-hdfs-project/hadoop-hdfs U: hadoop-hdfs-project/hadoop-hdfs Console output https://builds.apache.org/job/PreCommit-HDFS-Build/20358/console Powered by Apache Yetus 0.6.0-SNAPSHOT http://yetus.apache.org This message was automatically generated.
        Hide
        daryn Daryn Sharp added a comment -

        Only difference is trunk patch includes EC change.

        Show
        daryn Daryn Sharp added a comment - Only difference is trunk patch includes EC change.

          People

          • Assignee:
            daryn Daryn Sharp
            Reporter:
            daryn Daryn Sharp
          • Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development