Details

    • Type: Sub-task
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 2.8.0, 2.7.4, 3.0.0-alpha2
    • Component/s: hdfs
    • Labels:
      None
    • Target Version/s:
    • Hadoop Flags:
      Reviewed

      Description

      INodesInPath#getPath, a frequently called method, dynamically builds the path. IIP should cache the path upon construction.

      1. HDFS-10619.1.patch
        1 kB
        Daryn Sharp
      2. HDFS-10619.patch
        1 kB
        Daryn Sharp

        Activity

        Hide
        zhz Zhe Zhang added a comment -

        I think this is a good improvement for 2.7.4; just committed to branch-2.7. I ran test-patch locally and didn't find related failures.

        Show
        zhz Zhe Zhang added a comment - I think this is a good improvement for 2.7.4; just committed to branch-2.7. I ran test-patch locally and didn't find related failures.
        Hide
        hudson Hudson added a comment -

        SUCCESS: Integrated in Jenkins build Hadoop-trunk-Commit #10530 (See https://builds.apache.org/job/Hadoop-trunk-Commit/10530/)
        HDFS-10619. Cache path in InodesInPath. Contributed by Daryn Sharp. (kihwal: rev 90020624b05230ad4a7fbd666d0177ecb107a4d6)

        • (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 #10530 (See https://builds.apache.org/job/Hadoop-trunk-Commit/10530/ ) HDFS-10619 . Cache path in InodesInPath. Contributed by Daryn Sharp. (kihwal: rev 90020624b05230ad4a7fbd666d0177ecb107a4d6) (edit) hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/INodesInPath.java
        Hide
        kihwal Kihwal Lee added a comment -

        Committed to trunk, branch-2 and branch-2.8.

        Show
        kihwal Kihwal Lee added a comment - Committed to trunk, branch-2 and branch-2.8.
        Hide
        kihwal Kihwal Lee added a comment -

        +1 simple and effective.

        Show
        kihwal Kihwal Lee added a comment - +1 simple and effective.
        Hide
        hadoopqa Hadoop QA added a comment -
        -1 overall



        Vote Subsystem Runtime Comment
        0 reexec 0m 15s Docker mode activated.
        +1 @author 0m 0s The patch does not contain any @author tags.
        -1 test4tests 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 mvninstall 8m 9s trunk passed
        +1 compile 0m 54s trunk passed
        +1 checkstyle 0m 29s trunk passed
        +1 mvnsite 1m 1s trunk passed
        +1 mvneclipse 0m 14s trunk passed
        +1 findbugs 2m 6s trunk passed
        +1 javadoc 1m 11s trunk passed
        +1 mvninstall 1m 3s the patch passed
        +1 compile 0m 58s the patch passed
        +1 javac 0m 58s the patch passed
        +1 checkstyle 0m 26s the patch passed
        +1 mvnsite 0m 58s the patch passed
        +1 mvneclipse 0m 11s the patch passed
        +1 whitespace 0m 0s The patch has no whitespace issues.
        +1 findbugs 1m 59s the patch passed
        +1 javadoc 0m 56s the patch passed
        -1 unit 65m 55s hadoop-hdfs in the patch failed.
        +1 asflicense 0m 21s The patch does not generate ASF License warnings.
        88m 31s



        Reason Tests
        Failed junit tests hadoop.hdfs.qjournal.client.TestQuorumJournalManager
          hadoop.hdfs.server.blockmanagement.TestRBWBlockInvalidation
          hadoop.hdfs.server.datanode.TestDataNodeUUID



        Subsystem Report/Notes
        Docker Image:yetus/hadoop:9560f25
        JIRA Issue HDFS-10619
        JIRA Patch URL https://issues.apache.org/jira/secure/attachment/12831173/HDFS-10619.1.patch
        Optional Tests asflicense compile javac javadoc mvninstall mvnsite unit findbugs checkstyle
        uname Linux 51868a22ad2d 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
        Build tool maven
        Personality /testptch/hadoop/patchprocess/precommit/personality/provided.sh
        git revision trunk / 2549ee9
        Default Java 1.8.0_101
        findbugs v3.0.0
        unit https://builds.apache.org/job/PreCommit-HDFS-Build/16957/artifact/patchprocess/patch-unit-hadoop-hdfs-project_hadoop-hdfs.txt
        Test Results https://builds.apache.org/job/PreCommit-HDFS-Build/16957/testReport/
        modules C: hadoop-hdfs-project/hadoop-hdfs U: hadoop-hdfs-project/hadoop-hdfs
        Console output https://builds.apache.org/job/PreCommit-HDFS-Build/16957/console
        Powered by Apache Yetus 0.4.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 0m 15s Docker mode activated. +1 @author 0m 0s The patch does not contain any @author tags. -1 test4tests 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 mvninstall 8m 9s trunk passed +1 compile 0m 54s trunk passed +1 checkstyle 0m 29s trunk passed +1 mvnsite 1m 1s trunk passed +1 mvneclipse 0m 14s trunk passed +1 findbugs 2m 6s trunk passed +1 javadoc 1m 11s trunk passed +1 mvninstall 1m 3s the patch passed +1 compile 0m 58s the patch passed +1 javac 0m 58s the patch passed +1 checkstyle 0m 26s the patch passed +1 mvnsite 0m 58s the patch passed +1 mvneclipse 0m 11s the patch passed +1 whitespace 0m 0s The patch has no whitespace issues. +1 findbugs 1m 59s the patch passed +1 javadoc 0m 56s the patch passed -1 unit 65m 55s hadoop-hdfs in the patch failed. +1 asflicense 0m 21s The patch does not generate ASF License warnings. 88m 31s Reason Tests Failed junit tests hadoop.hdfs.qjournal.client.TestQuorumJournalManager   hadoop.hdfs.server.blockmanagement.TestRBWBlockInvalidation   hadoop.hdfs.server.datanode.TestDataNodeUUID Subsystem Report/Notes Docker Image:yetus/hadoop:9560f25 JIRA Issue HDFS-10619 JIRA Patch URL https://issues.apache.org/jira/secure/attachment/12831173/HDFS-10619.1.patch Optional Tests asflicense compile javac javadoc mvninstall mvnsite unit findbugs checkstyle uname Linux 51868a22ad2d 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 Build tool maven Personality /testptch/hadoop/patchprocess/precommit/personality/provided.sh git revision trunk / 2549ee9 Default Java 1.8.0_101 findbugs v3.0.0 unit https://builds.apache.org/job/PreCommit-HDFS-Build/16957/artifact/patchprocess/patch-unit-hadoop-hdfs-project_hadoop-hdfs.txt Test Results https://builds.apache.org/job/PreCommit-HDFS-Build/16957/testReport/ modules C: hadoop-hdfs-project/hadoop-hdfs U: hadoop-hdfs-project/hadoop-hdfs Console output https://builds.apache.org/job/PreCommit-HDFS-Build/16957/console Powered by Apache Yetus 0.4.0-SNAPSHOT http://yetus.apache.org This message was automatically generated.
        Hide
        daryn Daryn Sharp added a comment -

        Updated.

        Show
        daryn Daryn Sharp added a comment - Updated.
        Hide
        kihwal Kihwal Lee added a comment -

        Daryn Sharp, you need to rebase the patch.

        Show
        kihwal Kihwal Lee added a comment - Daryn Sharp , you need to rebase the patch.
        Hide
        hadoopqa Hadoop QA added a comment -
        -1 overall



        Vote Subsystem Runtime Comment
        0 reexec 0m 11s Docker mode activated.
        +1 @author 0m 0s The patch does not contain any @author tags.
        -1 test4tests 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 mvninstall 8m 40s trunk passed
        +1 compile 0m 54s trunk passed
        +1 checkstyle 0m 30s trunk passed
        +1 mvnsite 1m 5s trunk passed
        +1 mvneclipse 0m 14s trunk passed
        +1 findbugs 2m 2s trunk passed
        +1 javadoc 1m 3s trunk passed
        +1 mvninstall 0m 57s the patch passed
        +1 compile 0m 52s the patch passed
        +1 javac 0m 52s the patch passed
        +1 checkstyle 0m 26s the patch passed
        +1 mvnsite 1m 0s the patch passed
        +1 mvneclipse 0m 11s the patch passed
        +1 whitespace 0m 0s The patch has no whitespace issues.
        +1 findbugs 2m 0s the patch passed
        +1 javadoc 0m 59s the patch passed
        -1 unit 63m 42s hadoop-hdfs in the patch failed.
        +1 asflicense 0m 19s The patch does not generate ASF License warnings.
        86m 29s



        Reason Tests
        Failed junit tests hadoop.hdfs.TestEncryptionZones



        Subsystem Report/Notes
        Docker Image:yetus/hadoop:9560f25
        JIRA Patch URL https://issues.apache.org/jira/secure/attachment/12817765/HDFS-10619.patch
        JIRA Issue HDFS-10619
        Optional Tests asflicense compile javac javadoc mvninstall mvnsite unit findbugs checkstyle
        uname Linux ecd97a33e009 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
        Build tool maven
        Personality /testptch/hadoop/patchprocess/precommit/personality/provided.sh
        git revision trunk / bebf10d
        Default Java 1.8.0_101
        findbugs v3.0.0
        unit https://builds.apache.org/job/PreCommit-HDFS-Build/16310/artifact/patchprocess/patch-unit-hadoop-hdfs-project_hadoop-hdfs.txt
        Test Results https://builds.apache.org/job/PreCommit-HDFS-Build/16310/testReport/
        modules C: hadoop-hdfs-project/hadoop-hdfs U: hadoop-hdfs-project/hadoop-hdfs
        Console output https://builds.apache.org/job/PreCommit-HDFS-Build/16310/console
        Powered by Apache Yetus 0.4.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 0m 11s Docker mode activated. +1 @author 0m 0s The patch does not contain any @author tags. -1 test4tests 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 mvninstall 8m 40s trunk passed +1 compile 0m 54s trunk passed +1 checkstyle 0m 30s trunk passed +1 mvnsite 1m 5s trunk passed +1 mvneclipse 0m 14s trunk passed +1 findbugs 2m 2s trunk passed +1 javadoc 1m 3s trunk passed +1 mvninstall 0m 57s the patch passed +1 compile 0m 52s the patch passed +1 javac 0m 52s the patch passed +1 checkstyle 0m 26s the patch passed +1 mvnsite 1m 0s the patch passed +1 mvneclipse 0m 11s the patch passed +1 whitespace 0m 0s The patch has no whitespace issues. +1 findbugs 2m 0s the patch passed +1 javadoc 0m 59s the patch passed -1 unit 63m 42s hadoop-hdfs in the patch failed. +1 asflicense 0m 19s The patch does not generate ASF License warnings. 86m 29s Reason Tests Failed junit tests hadoop.hdfs.TestEncryptionZones Subsystem Report/Notes Docker Image:yetus/hadoop:9560f25 JIRA Patch URL https://issues.apache.org/jira/secure/attachment/12817765/HDFS-10619.patch JIRA Issue HDFS-10619 Optional Tests asflicense compile javac javadoc mvninstall mvnsite unit findbugs checkstyle uname Linux ecd97a33e009 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 Build tool maven Personality /testptch/hadoop/patchprocess/precommit/personality/provided.sh git revision trunk / bebf10d Default Java 1.8.0_101 findbugs v3.0.0 unit https://builds.apache.org/job/PreCommit-HDFS-Build/16310/artifact/patchprocess/patch-unit-hadoop-hdfs-project_hadoop-hdfs.txt Test Results https://builds.apache.org/job/PreCommit-HDFS-Build/16310/testReport/ modules C: hadoop-hdfs-project/hadoop-hdfs U: hadoop-hdfs-project/hadoop-hdfs Console output https://builds.apache.org/job/PreCommit-HDFS-Build/16310/console Powered by Apache Yetus 0.4.0-SNAPSHOT http://yetus.apache.org This message was automatically generated.
        Hide
        kihwal Kihwal Lee added a comment -

        HDFS-10653 got committed. I will run this through precommit one more time.

        Show
        kihwal Kihwal Lee added a comment - HDFS-10653 got committed. I will run this through precommit one more time.
        Hide
        linyiqun Yiqun Lin added a comment -

        Thanks Daryn Sharp, I believe the works for these jiras will greatly improve the performance, .

        Show
        linyiqun Yiqun Lin added a comment - Thanks Daryn Sharp , I believe the works for these jiras will greatly improve the performance, .
        Hide
        daryn Daryn Sharp added a comment -

        Yiqun Lin, sure.

        Trying to untangle intersecting patches to fix byteArray2PathString. HDFS-10653 is first step.

        Show
        daryn Daryn Sharp added a comment - Yiqun Lin , sure. Trying to untangle intersecting patches to fix byteArray2PathString. HDFS-10653 is first step.
        Hide
        linyiqun Yiqun Lin added a comment -

        Hi, Daryn Sharp, I have one another minor comment. Can we also replace DFSUtil.byteArray2PathString(path) to pathname in the method INodesInPath#toString? There is no need to parse the path again here.

          private String toString(boolean vaildateObject) {
            if (vaildateObject) {
              validate();
            }
        
            final StringBuilder b = new StringBuilder(getClass().getSimpleName())
                .append(": path = ").append(DFSUtil.byteArray2PathString(path))
                .append("\n  inodes = ");
            ...
        
        Show
        linyiqun Yiqun Lin added a comment - Hi, Daryn Sharp , I have one another minor comment. Can we also replace DFSUtil.byteArray2PathString(path) to pathname in the method INodesInPath#toString ? There is no need to parse the path again here. private String toString( boolean vaildateObject) { if (vaildateObject) { validate(); } final StringBuilder b = new StringBuilder(getClass().getSimpleName()) .append( ": path = " ).append(DFSUtil.byteArray2PathString(path)) .append( "\n inodes = " ); ...
        Hide
        daryn Daryn Sharp added a comment -

        The common case is IIP#getPath is called frequently and repeatedly. So even if it doesn't happen to be called in a few instances, the extra string overhead (valid concern in general) outweighs the huge reduction in object allocations for the common case.

        Sorry the test broke, that's what I get for separating out a small piece from a larger patch that has modified that byte[][] to String function. It has much larger logic problems than the one uncovered here. I'll repost.

        Show
        daryn Daryn Sharp added a comment - The common case is IIP#getPath is called frequently and repeatedly. So even if it doesn't happen to be called in a few instances, the extra string overhead (valid concern in general) outweighs the huge reduction in object allocations for the common case. Sorry the test broke, that's what I get for separating out a small piece from a larger patch that has modified that byte[][] to String function. It has much larger logic problems than the one uncovered here. I'll repost.
        Hide
        linyiqun Yiqun Lin added a comment -

        Hi, Daryn Sharp, the patch looks good. But the failed test seemed related. I tested you patch in my local env. I found sometimes the bytes array path that passed will be like this:

        [null, [102, 111, 111]]
        

        The pathComponents[0] was null, but the pathComponents[1] has the values, then the method DFSUtil#byteArray2PathString it will throw NPE.
        Can we add this logic change to avoid this special case?

          public static String byteArray2PathString(byte[][] pathComponents,
              int offset, int length) {
            if (pathComponents.length == 0) {
              return "";
            }
            Preconditions.checkArgument(offset >= 0 && offset < pathComponents.length);
            Preconditions.checkArgument(length >= 0 && offset + length <=
                pathComponents.length);
            if (pathComponents.length == 1
                && (pathComponents[0] == null || pathComponents[0].length == 0)) {
              return Path.SEPARATOR;
            } else if (pathComponents.length > 1
                && (pathComponents[0] == null || pathComponents[0].length == 0)) {
              // Add this logic
              return "";
            }
            ...
        
        Show
        linyiqun Yiqun Lin added a comment - Hi, Daryn Sharp , the patch looks good. But the failed test seemed related. I tested you patch in my local env. I found sometimes the bytes array path that passed will be like this: [ null , [102, 111, 111]] The pathComponents [0] was null, but the pathComponents [1] has the values, then the method DFSUtil#byteArray2PathString it will throw NPE. Can we add this logic change to avoid this special case? public static String byteArray2PathString( byte [][] pathComponents, int offset, int length) { if (pathComponents.length == 0) { return ""; } Preconditions.checkArgument(offset >= 0 && offset < pathComponents.length); Preconditions.checkArgument(length >= 0 && offset + length <= pathComponents.length); if (pathComponents.length == 1 && (pathComponents[0] == null || pathComponents[0].length == 0)) { return Path.SEPARATOR; } else if (pathComponents.length > 1 && (pathComponents[0] == null || pathComponents[0].length == 0)) { // Add this logic return ""; } ...
        Hide
        hadoopqa Hadoop QA added a comment -
        -1 overall



        Vote Subsystem Runtime Comment
        0 reexec 0m 24s Docker mode activated.
        +1 @author 0m 0s The patch does not contain any @author tags.
        -1 test4tests 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 mvninstall 7m 9s trunk passed
        +1 compile 0m 48s trunk passed
        +1 checkstyle 0m 26s trunk passed
        +1 mvnsite 0m 52s trunk passed
        +1 mvneclipse 0m 12s trunk passed
        +1 findbugs 1m 43s trunk passed
        +1 javadoc 1m 1s trunk passed
        +1 mvninstall 0m 53s the patch passed
        +1 compile 0m 47s the patch passed
        +1 javac 0m 47s the patch passed
        +1 checkstyle 0m 24s the patch passed
        +1 mvnsite 0m 53s the patch passed
        +1 mvneclipse 0m 10s the patch passed
        +1 whitespace 0m 0s The patch has no whitespace issues.
        +1 findbugs 1m 47s the patch passed
        +1 javadoc 0m 57s the patch passed
        -1 unit 74m 36s hadoop-hdfs in the patch failed.
        +1 asflicense 0m 21s The patch does not generate ASF License warnings.
        94m 41s



        Reason Tests
        Failed junit tests hadoop.hdfs.TestSnapshotCommands
          hadoop.fs.contract.hdfs.TestHDFSContractRootDirectory
          hadoop.cli.TestHDFSCLI
          hadoop.hdfs.TestDFSUpgradeFromImage
          hadoop.hdfs.server.namenode.TestGetBlockLocations
          hadoop.hdfs.TestHDFSFileSystemContract
          hadoop.hdfs.server.namenode.TestFsck
          hadoop.hdfs.TestDatanodeStartupFixesLegacyStorageIDs
          hadoop.hdfs.TestReservedRawPaths
          hadoop.hdfs.TestRollingUpgrade
          hadoop.hdfs.TestDatanodeLayoutUpgrade
          hadoop.hdfs.server.mover.TestStorageMover
          hadoop.hdfs.TestClientReportBadBlock
          hadoop.hdfs.web.TestWebHdfsFileSystemContract
          hadoop.hdfs.TestDFSShell
          hadoop.hdfs.server.namenode.ha.TestHAFsck
          hadoop.fs.viewfs.TestViewFileSystemAtHdfsRoot
          hadoop.cli.TestCryptoAdminCLI
          hadoop.hdfs.server.namenode.ha.TestHAAppend
          hadoop.hdfs.TestErasureCodingPolicies
          hadoop.hdfs.TestEncryptionZones
          hadoop.fs.viewfs.TestViewFsAtHdfsRoot
          hadoop.fs.permission.TestStickyBit
          hadoop.hdfs.TestEncryptionZonesWithKMS
          hadoop.hdfs.server.namenode.snapshot.TestOpenFilesWithSnapshot
          hadoop.fs.TestGlobPaths



        Subsystem Report/Notes
        Docker Image:yetus/hadoop:9560f25
        JIRA Patch URL https://issues.apache.org/jira/secure/attachment/12817765/HDFS-10619.patch
        JIRA Issue HDFS-10619
        Optional Tests asflicense compile javac javadoc mvninstall mvnsite unit findbugs checkstyle
        uname Linux 8a6fd2de1668 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
        Build tool maven
        Personality /testptch/hadoop/patchprocess/precommit/personality/provided.sh
        git revision trunk / eb47163
        Default Java 1.8.0_91
        findbugs v3.0.0
        unit https://builds.apache.org/job/PreCommit-HDFS-Build/16044/artifact/patchprocess/patch-unit-hadoop-hdfs-project_hadoop-hdfs.txt
        Test Results https://builds.apache.org/job/PreCommit-HDFS-Build/16044/testReport/
        modules C: hadoop-hdfs-project/hadoop-hdfs U: hadoop-hdfs-project/hadoop-hdfs
        Console output https://builds.apache.org/job/PreCommit-HDFS-Build/16044/console
        Powered by Apache Yetus 0.4.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 0m 24s Docker mode activated. +1 @author 0m 0s The patch does not contain any @author tags. -1 test4tests 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 mvninstall 7m 9s trunk passed +1 compile 0m 48s trunk passed +1 checkstyle 0m 26s trunk passed +1 mvnsite 0m 52s trunk passed +1 mvneclipse 0m 12s trunk passed +1 findbugs 1m 43s trunk passed +1 javadoc 1m 1s trunk passed +1 mvninstall 0m 53s the patch passed +1 compile 0m 47s the patch passed +1 javac 0m 47s the patch passed +1 checkstyle 0m 24s the patch passed +1 mvnsite 0m 53s the patch passed +1 mvneclipse 0m 10s the patch passed +1 whitespace 0m 0s The patch has no whitespace issues. +1 findbugs 1m 47s the patch passed +1 javadoc 0m 57s the patch passed -1 unit 74m 36s hadoop-hdfs in the patch failed. +1 asflicense 0m 21s The patch does not generate ASF License warnings. 94m 41s Reason Tests Failed junit tests hadoop.hdfs.TestSnapshotCommands   hadoop.fs.contract.hdfs.TestHDFSContractRootDirectory   hadoop.cli.TestHDFSCLI   hadoop.hdfs.TestDFSUpgradeFromImage   hadoop.hdfs.server.namenode.TestGetBlockLocations   hadoop.hdfs.TestHDFSFileSystemContract   hadoop.hdfs.server.namenode.TestFsck   hadoop.hdfs.TestDatanodeStartupFixesLegacyStorageIDs   hadoop.hdfs.TestReservedRawPaths   hadoop.hdfs.TestRollingUpgrade   hadoop.hdfs.TestDatanodeLayoutUpgrade   hadoop.hdfs.server.mover.TestStorageMover   hadoop.hdfs.TestClientReportBadBlock   hadoop.hdfs.web.TestWebHdfsFileSystemContract   hadoop.hdfs.TestDFSShell   hadoop.hdfs.server.namenode.ha.TestHAFsck   hadoop.fs.viewfs.TestViewFileSystemAtHdfsRoot   hadoop.cli.TestCryptoAdminCLI   hadoop.hdfs.server.namenode.ha.TestHAAppend   hadoop.hdfs.TestErasureCodingPolicies   hadoop.hdfs.TestEncryptionZones   hadoop.fs.viewfs.TestViewFsAtHdfsRoot   hadoop.fs.permission.TestStickyBit   hadoop.hdfs.TestEncryptionZonesWithKMS   hadoop.hdfs.server.namenode.snapshot.TestOpenFilesWithSnapshot   hadoop.fs.TestGlobPaths Subsystem Report/Notes Docker Image:yetus/hadoop:9560f25 JIRA Patch URL https://issues.apache.org/jira/secure/attachment/12817765/HDFS-10619.patch JIRA Issue HDFS-10619 Optional Tests asflicense compile javac javadoc mvninstall mvnsite unit findbugs checkstyle uname Linux 8a6fd2de1668 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 Build tool maven Personality /testptch/hadoop/patchprocess/precommit/personality/provided.sh git revision trunk / eb47163 Default Java 1.8.0_91 findbugs v3.0.0 unit https://builds.apache.org/job/PreCommit-HDFS-Build/16044/artifact/patchprocess/patch-unit-hadoop-hdfs-project_hadoop-hdfs.txt Test Results https://builds.apache.org/job/PreCommit-HDFS-Build/16044/testReport/ modules C: hadoop-hdfs-project/hadoop-hdfs U: hadoop-hdfs-project/hadoop-hdfs Console output https://builds.apache.org/job/PreCommit-HDFS-Build/16044/console Powered by Apache Yetus 0.4.0-SNAPSHOT http://yetus.apache.org This message was automatically generated.
        Hide
        zhz Zhe Zhang added a comment -

        This looks a good fix. Thanks Daryn.

        If an iip is created but getPath is never called, we are increasing the memory usage by 1 String. But I think this is pretty rare so overall the fix is an improvement.

        Thoughts from others? I'll hold off a +1 till the end of today (because of the above tradeoff).

        Show
        zhz Zhe Zhang added a comment - This looks a good fix. Thanks Daryn. If an iip is created but getPath is never called, we are increasing the memory usage by 1 String . But I think this is pretty rare so overall the fix is an improvement. Thoughts from others? I'll hold off a +1 till the end of today (because of the above tradeoff).

          People

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

            Dates

            • Created:
              Updated:
              Resolved:

              Development