Uploaded image for project: 'Hadoop YARN'
  1. Hadoop YARN
  2. YARN-6768

Improve performance of yarn api record toString and fromString

    Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 2.9.0, 3.0.0-beta1, 2.8.2
    • Component/s: None
    • Labels:
      None
    • Hadoop Flags:
      Reviewed
    1. YARN-6768.1.patch
      12 kB
      Jonathan Eagles
    2. YARN-6768.2.patch
      14 kB
      Jonathan Eagles
    3. YARN-6768.3.patch
      22 kB
      Jonathan Eagles
    4. YARN-6768.4.patch
      22 kB
      Jonathan Eagles
    5. YARN-6768.5.patch
      20 kB
      Jonathan Eagles
    6. YARN-6768.6.patch
      24 kB
      Jonathan Eagles
    7. YARN-6768.7.patch
      24 kB
      Jonathan Eagles

      Issue Links

        Activity

        Hide
        hadoopqa Hadoop QA added a comment -
        1 overall



        Vote Subsystem Runtime Comment
        0 reexec 0m 14s Docker mode activated.
        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.
        0 mvndep 0m 15s Maven dependency ordering for branch
        1 mvninstall 13m 22s trunk passed
        1 compile 15m 17s trunk passed
        1 checkstyle 1m 57s trunk passed
        1 mvnsite 1m 42s trunk passed
        1 findbugs 2m 50s trunk passed
        1 javadoc 1m 20s trunk passed
        0 mvndep 0m 17s Maven dependency ordering for patch
        1 mvninstall 1m 20s the patch passed
        1 compile 11m 7s the patch passed
        1 javac 11m 7s the patch passed
        -0 checkstyle 2m 2s root: The patch generated 12 new 32 unchanged - 7 fixed = 44 total (was 39)
        1 mvnsite 1m 47s the patch passed
        1 whitespace 0m 0s The patch has no whitespace issues.
        1 findbugs 3m 1s the patch passed
        1 javadoc 1m 23s the patch passed
        1 unit 7m 43s hadoop-common in the patch passed.
        1 unit 0m 37s hadoop-yarn-api in the patch passed.
        1 asflicense 0m 38s The patch does not generate ASF License warnings.
        88m 33s



        Subsystem Report/Notes
        Docker Image:yetus/hadoop:14b5c93
        JIRA Issue YARN-6768
        JIRA Patch URL https://issues.apache.org/jira/secure/attachment/12875984/YARN-6768.2.patch
        Optional Tests asflicense compile javac javadoc mvninstall mvnsite unit findbugs checkstyle
        uname Linux dae3a2857415 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 trunk / 7576a68
        Default Java 1.8.0_131
        findbugs v3.1.0-RC1
        checkstyle https://builds.apache.org/job/PreCommit-YARN-Build/16314/artifact/patchprocess/diff-checkstyle-root.txt
        Test Results https://builds.apache.org/job/PreCommit-YARN-Build/16314/testReport/
        modules C: hadoop-common-project/hadoop-common hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api U: .
        Console output https://builds.apache.org/job/PreCommit-YARN-Build/16314/console
        Powered by Apache Yetus 0.5.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 14s Docker mode activated. 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. 0 mvndep 0m 15s Maven dependency ordering for branch 1 mvninstall 13m 22s trunk passed 1 compile 15m 17s trunk passed 1 checkstyle 1m 57s trunk passed 1 mvnsite 1m 42s trunk passed 1 findbugs 2m 50s trunk passed 1 javadoc 1m 20s trunk passed 0 mvndep 0m 17s Maven dependency ordering for patch 1 mvninstall 1m 20s the patch passed 1 compile 11m 7s the patch passed 1 javac 11m 7s the patch passed -0 checkstyle 2m 2s root: The patch generated 12 new 32 unchanged - 7 fixed = 44 total (was 39) 1 mvnsite 1m 47s the patch passed 1 whitespace 0m 0s The patch has no whitespace issues. 1 findbugs 3m 1s the patch passed 1 javadoc 1m 23s the patch passed 1 unit 7m 43s hadoop-common in the patch passed. 1 unit 0m 37s hadoop-yarn-api in the patch passed. 1 asflicense 0m 38s The patch does not generate ASF License warnings. 88m 33s Subsystem Report/Notes Docker Image:yetus/hadoop:14b5c93 JIRA Issue YARN-6768 JIRA Patch URL https://issues.apache.org/jira/secure/attachment/12875984/YARN-6768.2.patch Optional Tests asflicense compile javac javadoc mvninstall mvnsite unit findbugs checkstyle uname Linux dae3a2857415 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 trunk / 7576a68 Default Java 1.8.0_131 findbugs v3.1.0-RC1 checkstyle https://builds.apache.org/job/PreCommit-YARN-Build/16314/artifact/patchprocess/diff-checkstyle-root.txt Test Results https://builds.apache.org/job/PreCommit-YARN-Build/16314/testReport/ modules C: hadoop-common-project/hadoop-common hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api U: . Console output https://builds.apache.org/job/PreCommit-YARN-Build/16314/console Powered by Apache Yetus 0.5.0-SNAPSHOT http://yetus.apache.org This message was automatically generated.
        Hide
        jlowe Jason Lowe added a comment -

        Thanks for the patch!

        Curious if this would be simpler and maybe faster to avoid having any state. Avoiding state prevents thread safety issues requiring thread local use, making it easier to use correctly. For example, something like this:

          public static StringBuilder format(StringBuilder sb, long source, int minimumDigits) {
            char[] digits = new char[MAX_COUNT];
            int left = MAX_COUNT;
            if (source < 0) {
              sb.append('-');
              source = - source;
            }
            while (source > 0) {
              digits[--left] = (char)('0' + (source % 10));
              source /= 10;
            }
            while (MAX_COUNT - left < minimumDigits) {
              digits[--left] = '0';
            }
            sb.append(digits, left, MAX_COUNT - left);
            return sb;
          }
        

        I suspect simple String object allocation and thread local lookup are comparable in performance, although I haven't benchmarked it.

        Show
        jlowe Jason Lowe added a comment - Thanks for the patch! Curious if this would be simpler and maybe faster to avoid having any state. Avoiding state prevents thread safety issues requiring thread local use, making it easier to use correctly. For example, something like this: public static StringBuilder format(StringBuilder sb, long source, int minimumDigits) { char [] digits = new char [MAX_COUNT]; int left = MAX_COUNT; if (source < 0) { sb.append('-'); source = - source; } while (source > 0) { digits[--left] = ( char )('0' + (source % 10)); source /= 10; } while (MAX_COUNT - left < minimumDigits) { digits[--left] = '0'; } sb.append(digits, left, MAX_COUNT - left); return sb; } I suspect simple String object allocation and thread local lookup are comparable in performance, although I haven't benchmarked it.
        Hide
        nroberts Nathan Roberts added a comment -

        Thanks Jon! As a datapoint, I have a testcase that measures how quickly we can handle NodeUpdateSchedulerEvents when a user is at their user limit. This path causes the ActivitiesLogger to be invoked at a very high rate. The most expensive operation within the ActivitiesLogger is application.getApplicationId().toString(). When I apply the patch on this jira, the throughput improves from 22K/sec to 32K/sec.

        Show
        nroberts Nathan Roberts added a comment - Thanks Jon! As a datapoint, I have a testcase that measures how quickly we can handle NodeUpdateSchedulerEvents when a user is at their user limit. This path causes the ActivitiesLogger to be invoked at a very high rate. The most expensive operation within the ActivitiesLogger is application.getApplicationId().toString(). When I apply the patch on this jira, the throughput improves from 22K/sec to 32K/sec.
        Hide
        jeagles Jonathan Eagles added a comment -

        fromString is roughly 25% better and toString is roughly 45% better.

        Show
        jeagles Jonathan Eagles added a comment - fromString is roughly 25% better and toString is roughly 45% better.
        Hide
        hadoopqa Hadoop QA added a comment -
        +1 overall



        Vote Subsystem Runtime Comment
        0 reexec 0m 19s 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.
              trunk Compile Tests
        0 mvndep 1m 32s Maven dependency ordering for branch
        +1 mvninstall 13m 57s trunk passed
        +1 compile 15m 18s trunk passed
        +1 checkstyle 1m 57s trunk passed
        +1 mvnsite 2m 1s trunk passed
        +1 findbugs 2m 34s trunk passed
        +1 javadoc 1m 20s trunk passed
              Patch Compile Tests
        0 mvndep 0m 16s Maven dependency ordering for patch
        +1 mvninstall 1m 7s the patch passed
        +1 compile 10m 49s the patch passed
        +1 javac 10m 49s the patch passed
        -0 checkstyle 1m 56s root: The patch generated 9 new + 28 unchanged - 11 fixed = 37 total (was 39)
        +1 mvnsite 2m 5s the patch passed
        +1 whitespace 0m 0s The patch has no whitespace issues.
        +1 findbugs 3m 2s the patch passed
        +1 javadoc 1m 25s the patch passed
              Other Tests
        +1 unit 8m 53s hadoop-common in the patch passed.
        +1 unit 0m 43s hadoop-yarn-api in the patch passed.
        +1 asflicense 0m 41s The patch does not generate ASF License warnings.
        91m 45s



        Subsystem Report/Notes
        Docker Image:yetus/hadoop:14b5c93
        JIRA Issue YARN-6768
        JIRA Patch URL https://issues.apache.org/jira/secure/attachment/12876964/YARN-6768.3.patch
        Optional Tests asflicense compile javac javadoc mvninstall mvnsite unit findbugs checkstyle
        uname Linux 19078c3b65ac 3.13.0-116-generic #163-Ubuntu SMP Fri Mar 31 14:13:22 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
        Build tool maven
        Personality /testptch/hadoop/patchprocess/precommit/personality/provided.sh
        git revision trunk / 931a498
        Default Java 1.8.0_131
        findbugs v3.1.0-RC1
        checkstyle https://builds.apache.org/job/PreCommit-YARN-Build/16398/artifact/patchprocess/diff-checkstyle-root.txt
        Test Results https://builds.apache.org/job/PreCommit-YARN-Build/16398/testReport/
        modules C: hadoop-common-project/hadoop-common hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api U: .
        Console output https://builds.apache.org/job/PreCommit-YARN-Build/16398/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 0m 19s 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.       trunk Compile Tests 0 mvndep 1m 32s Maven dependency ordering for branch +1 mvninstall 13m 57s trunk passed +1 compile 15m 18s trunk passed +1 checkstyle 1m 57s trunk passed +1 mvnsite 2m 1s trunk passed +1 findbugs 2m 34s trunk passed +1 javadoc 1m 20s trunk passed       Patch Compile Tests 0 mvndep 0m 16s Maven dependency ordering for patch +1 mvninstall 1m 7s the patch passed +1 compile 10m 49s the patch passed +1 javac 10m 49s the patch passed -0 checkstyle 1m 56s root: The patch generated 9 new + 28 unchanged - 11 fixed = 37 total (was 39) +1 mvnsite 2m 5s the patch passed +1 whitespace 0m 0s The patch has no whitespace issues. +1 findbugs 3m 2s the patch passed +1 javadoc 1m 25s the patch passed       Other Tests +1 unit 8m 53s hadoop-common in the patch passed. +1 unit 0m 43s hadoop-yarn-api in the patch passed. +1 asflicense 0m 41s The patch does not generate ASF License warnings. 91m 45s Subsystem Report/Notes Docker Image:yetus/hadoop:14b5c93 JIRA Issue YARN-6768 JIRA Patch URL https://issues.apache.org/jira/secure/attachment/12876964/YARN-6768.3.patch Optional Tests asflicense compile javac javadoc mvninstall mvnsite unit findbugs checkstyle uname Linux 19078c3b65ac 3.13.0-116-generic #163-Ubuntu SMP Fri Mar 31 14:13:22 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux Build tool maven Personality /testptch/hadoop/patchprocess/precommit/personality/provided.sh git revision trunk / 931a498 Default Java 1.8.0_131 findbugs v3.1.0-RC1 checkstyle https://builds.apache.org/job/PreCommit-YARN-Build/16398/artifact/patchprocess/diff-checkstyle-root.txt Test Results https://builds.apache.org/job/PreCommit-YARN-Build/16398/testReport/ modules C: hadoop-common-project/hadoop-common hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api U: . Console output https://builds.apache.org/job/PreCommit-YARN-Build/16398/console Powered by Apache Yetus 0.6.0-SNAPSHOT http://yetus.apache.org This message was automatically generated.
        Hide
        jlowe Jason Lowe added a comment -

        Had an offline discussion with Jonathan Eagles and Daryn Sharp, and one item that came up during the discussion was whether we could eliminate both the state (and thus thread safety issues) and the array copy occurring in StringBuilder by doing an algorithm Daryn described like the following (note I have not tested this):

          public static StringBuilder format(StringBuilder sb, long value, int minimumDigits) {
            if (value < 0) {
              sb.append('-');
              value = -value;
            }
        
            int numDigits = 0;
            int tmp = value;
            do {
              ++numDigits;
              tmp /= 10;
            } while (tmp > 0);
        
            for (int i = minimumDigits - numDigits; i > 0; --i) {
              sb.append('0');
            }
        
            sb.append(value);
            return sb;
          }
        

        This has a little bit more computation to compute the number of digits, but it avoids both thread-local lookups and temp buffer allocation.

        Show
        jlowe Jason Lowe added a comment - Had an offline discussion with Jonathan Eagles and Daryn Sharp , and one item that came up during the discussion was whether we could eliminate both the state (and thus thread safety issues) and the array copy occurring in StringBuilder by doing an algorithm Daryn described like the following (note I have not tested this): public static StringBuilder format(StringBuilder sb, long value, int minimumDigits) { if (value < 0) { sb.append('-'); value = -value; } int numDigits = 0; int tmp = value; do { ++numDigits; tmp /= 10; } while (tmp > 0); for ( int i = minimumDigits - numDigits; i > 0; --i) { sb.append('0'); } sb.append(value); return sb; } This has a little bit more computation to compute the number of digits, but it avoids both thread-local lookups and temp buffer allocation.
        Hide
        nroberts Nathan Roberts added a comment -

        Probably don't need to calculate full numDigits. once you have minimumDigits, you're done.

        Show
        nroberts Nathan Roberts added a comment - Probably don't need to calculate full numDigits. once you have minimumDigits, you're done.
        Hide
        hadoopqa Hadoop QA added a comment -
        -1 overall



        Vote Subsystem Runtime Comment
        0 reexec 0m 53s 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.
              trunk Compile Tests
        0 mvndep 1m 23s Maven dependency ordering for branch
        +1 mvninstall 13m 36s trunk passed
        +1 compile 14m 55s trunk passed
        +1 checkstyle 1m 53s trunk passed
        +1 mvnsite 2m 9s trunk passed
        +1 findbugs 2m 52s trunk passed
        +1 javadoc 1m 21s trunk passed
              Patch Compile Tests
        0 mvndep 0m 18s Maven dependency ordering for patch
        +1 mvninstall 1m 17s the patch passed
        +1 compile 11m 53s the patch passed
        +1 javac 11m 53s the patch passed
        -0 checkstyle 2m 9s root: The patch generated 9 new + 28 unchanged - 11 fixed = 37 total (was 39)
        +1 mvnsite 2m 18s the patch passed
        +1 whitespace 0m 0s The patch has no whitespace issues.
        +1 findbugs 3m 20s the patch passed
        +1 javadoc 1m 32s the patch passed
              Other Tests
        -1 unit 8m 27s hadoop-common in the patch failed.
        +1 unit 0m 44s hadoop-yarn-api in the patch passed.
        +1 asflicense 0m 53s The patch does not generate ASF License warnings.
        93m 42s



        Reason Tests
        Failed junit tests hadoop.ha.TestZKFailoverController



        Subsystem Report/Notes
        Docker Image:yetus/hadoop:14b5c93
        JIRA Issue YARN-6768
        JIRA Patch URL https://issues.apache.org/jira/secure/attachment/12878017/YARN-6768.4.patch
        Optional Tests asflicense compile javac javadoc mvninstall mvnsite unit findbugs checkstyle
        uname Linux 906f32d05f32 3.13.0-123-generic #172-Ubuntu SMP Mon Jun 26 18:04:35 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
        Build tool maven
        Personality /testptch/hadoop/patchprocess/precommit/personality/provided.sh
        git revision trunk / 04ff412
        Default Java 1.8.0_131
        findbugs v3.1.0-RC1
        checkstyle https://builds.apache.org/job/PreCommit-YARN-Build/16489/artifact/patchprocess/diff-checkstyle-root.txt
        unit https://builds.apache.org/job/PreCommit-YARN-Build/16489/artifact/patchprocess/patch-unit-hadoop-common-project_hadoop-common.txt
        Test Results https://builds.apache.org/job/PreCommit-YARN-Build/16489/testReport/
        modules C: hadoop-common-project/hadoop-common hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api U: .
        Console output https://builds.apache.org/job/PreCommit-YARN-Build/16489/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 0m 53s 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.       trunk Compile Tests 0 mvndep 1m 23s Maven dependency ordering for branch +1 mvninstall 13m 36s trunk passed +1 compile 14m 55s trunk passed +1 checkstyle 1m 53s trunk passed +1 mvnsite 2m 9s trunk passed +1 findbugs 2m 52s trunk passed +1 javadoc 1m 21s trunk passed       Patch Compile Tests 0 mvndep 0m 18s Maven dependency ordering for patch +1 mvninstall 1m 17s the patch passed +1 compile 11m 53s the patch passed +1 javac 11m 53s the patch passed -0 checkstyle 2m 9s root: The patch generated 9 new + 28 unchanged - 11 fixed = 37 total (was 39) +1 mvnsite 2m 18s the patch passed +1 whitespace 0m 0s The patch has no whitespace issues. +1 findbugs 3m 20s the patch passed +1 javadoc 1m 32s the patch passed       Other Tests -1 unit 8m 27s hadoop-common in the patch failed. +1 unit 0m 44s hadoop-yarn-api in the patch passed. +1 asflicense 0m 53s The patch does not generate ASF License warnings. 93m 42s Reason Tests Failed junit tests hadoop.ha.TestZKFailoverController Subsystem Report/Notes Docker Image:yetus/hadoop:14b5c93 JIRA Issue YARN-6768 JIRA Patch URL https://issues.apache.org/jira/secure/attachment/12878017/YARN-6768.4.patch Optional Tests asflicense compile javac javadoc mvninstall mvnsite unit findbugs checkstyle uname Linux 906f32d05f32 3.13.0-123-generic #172-Ubuntu SMP Mon Jun 26 18:04:35 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux Build tool maven Personality /testptch/hadoop/patchprocess/precommit/personality/provided.sh git revision trunk / 04ff412 Default Java 1.8.0_131 findbugs v3.1.0-RC1 checkstyle https://builds.apache.org/job/PreCommit-YARN-Build/16489/artifact/patchprocess/diff-checkstyle-root.txt unit https://builds.apache.org/job/PreCommit-YARN-Build/16489/artifact/patchprocess/patch-unit-hadoop-common-project_hadoop-common.txt Test Results https://builds.apache.org/job/PreCommit-YARN-Build/16489/testReport/ modules C: hadoop-common-project/hadoop-common hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api U: . Console output https://builds.apache.org/job/PreCommit-YARN-Build/16489/console Powered by Apache Yetus 0.6.0-SNAPSHOT http://yetus.apache.org This message was automatically generated.
        Hide
        jeagles Jonathan Eagles added a comment -

        Test failure from org.apache.hadoop.ha.TestZKFailoverController.testGracefulFailoverMultipleZKfcs unrelated to this test. Jason Lowe can you have another look at this patch when you get a chance?

        Show
        jeagles Jonathan Eagles added a comment - Test failure from org.apache.hadoop.ha.TestZKFailoverController.testGracefulFailoverMultipleZKfcs unrelated to this test. Jason Lowe can you have another look at this patch when you get a chance?
        Hide
        jlowe Jason Lowe added a comment -

        Thanks for updating the patch! Nice to see the state fall away and things get simpler as a result.

        The toString paths look great, just a few nits on the conversion back from a String.

        Nit: It is less work to do indexOf('') than indexOf("")

        Rather than searching for the first underscore, creating a substring starting at 0 to that position, and then comparing that substring to a known prefix we can avoid some object creation and a redundant prefix scan by leveraging startsWith and the length of the known prefix. Similarly we can use String#regionMatches to avoid a substring creation for the epoch string. For example:

            int pos1 = CONTAINER_PREFIX.length();
            if (!containerIdStr.startsWith(CONTAINER_PREFIX) || containerIdStr.charAt(pos1) != '_') {
              throw new IllegalArgumentException("Invalid ContainerId prefix: "
                  + containerIdStr.substring(0, pos1 + 1));
            }
            int pos2 = containerIdStr.indexOf('_', pos1 + 1);
            String clusterTimestamp;
            if (containerIdStr.regionMatches(pos1 + 1, EPOCH_PREFIX, 0, EPOCH_PREFIX.length()) {
              String epochStr = containerId.substring(pos1 + 1 + EPOCH_PREFIX.length(), pos2);
              epoch = Integer.parseInt(epochStr);
              ....
        

        The use of startsWith to avoid the initial substring applies to app attempt and app ID parsing as well. The test gets even cheaper if we bother to precompute a String that is the prefix with the underscore already attached because we wouldn't need to do the extra check for the '_' character.

        This patch also causes some of the TestConverterUtils tests to fail in hadoop-yarn-common. Arguably some of these conversion tests should be moved/adapted to hadoop-yarn-api so they are closer to the code in question.

        Show
        jlowe Jason Lowe added a comment - Thanks for updating the patch! Nice to see the state fall away and things get simpler as a result. The toString paths look great, just a few nits on the conversion back from a String. Nit: It is less work to do indexOf(' ') than indexOf(" ") Rather than searching for the first underscore, creating a substring starting at 0 to that position, and then comparing that substring to a known prefix we can avoid some object creation and a redundant prefix scan by leveraging startsWith and the length of the known prefix. Similarly we can use String#regionMatches to avoid a substring creation for the epoch string. For example: int pos1 = CONTAINER_PREFIX.length(); if (!containerIdStr.startsWith(CONTAINER_PREFIX) || containerIdStr.charAt(pos1) != '_') { throw new IllegalArgumentException( "Invalid ContainerId prefix: " + containerIdStr.substring(0, pos1 + 1)); } int pos2 = containerIdStr.indexOf('_', pos1 + 1); String clusterTimestamp; if (containerIdStr.regionMatches(pos1 + 1, EPOCH_PREFIX, 0, EPOCH_PREFIX.length()) { String epochStr = containerId.substring(pos1 + 1 + EPOCH_PREFIX.length(), pos2); epoch = Integer .parseInt(epochStr); .... The use of startsWith to avoid the initial substring applies to app attempt and app ID parsing as well. The test gets even cheaper if we bother to precompute a String that is the prefix with the underscore already attached because we wouldn't need to do the extra check for the '_' character. This patch also causes some of the TestConverterUtils tests to fail in hadoop-yarn-common. Arguably some of these conversion tests should be moved/adapted to hadoop-yarn-api so they are closer to the code in question.
        Hide
        hadoopqa Hadoop QA added a comment -
        -1 overall



        Vote Subsystem Runtime Comment
        0 reexec 15m 19s Docker mode activated.
              Prechecks
        +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.
              trunk Compile Tests
        +1 mvninstall 14m 32s trunk passed
        +1 compile 0m 27s trunk passed
        +1 checkstyle 0m 15s trunk passed
        +1 mvnsite 0m 28s trunk passed
        +1 findbugs 1m 6s trunk passed
        +1 javadoc 0m 20s trunk passed
              Patch Compile Tests
        -1 mvninstall 0m 24s hadoop-yarn-api in the patch failed.
        -1 compile 0m 19s hadoop-yarn-api in the patch failed.
        -1 javac 0m 19s hadoop-yarn-api in the patch failed.
        -0 checkstyle 0m 12s hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api: The patch generated 4 new + 28 unchanged - 11 fixed = 32 total (was 39)
        -1 mvnsite 0m 22s hadoop-yarn-api in the patch failed.
        +1 whitespace 0m 0s The patch has no whitespace issues.
        -1 findbugs 0m 19s hadoop-yarn-api in the patch failed.
        -1 javadoc 0m 16s hadoop-yarn-project_hadoop-yarn_hadoop-yarn-api generated 4 new + 123 unchanged - 0 fixed = 127 total (was 123)
              Other Tests
        -1 unit 0m 20s hadoop-yarn-api in the patch failed.
        +1 asflicense 0m 16s The patch does not generate ASF License warnings.
        36m 5s



        Subsystem Report/Notes
        Docker Image:yetus/hadoop:14b5c93
        JIRA Issue YARN-6768
        JIRA Patch URL https://issues.apache.org/jira/secure/attachment/12878234/YARN-6768.5.patch
        Optional Tests asflicense compile javac javadoc mvninstall mvnsite unit findbugs checkstyle
        uname Linux a3e67ebf93fb 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 trunk / c8df366
        Default Java 1.8.0_131
        findbugs v3.1.0-RC1
        mvninstall https://builds.apache.org/job/PreCommit-YARN-Build/16506/artifact/patchprocess/patch-mvninstall-hadoop-yarn-project_hadoop-yarn_hadoop-yarn-api.txt
        compile https://builds.apache.org/job/PreCommit-YARN-Build/16506/artifact/patchprocess/patch-compile-hadoop-yarn-project_hadoop-yarn_hadoop-yarn-api.txt
        javac https://builds.apache.org/job/PreCommit-YARN-Build/16506/artifact/patchprocess/patch-compile-hadoop-yarn-project_hadoop-yarn_hadoop-yarn-api.txt
        checkstyle https://builds.apache.org/job/PreCommit-YARN-Build/16506/artifact/patchprocess/diff-checkstyle-hadoop-yarn-project_hadoop-yarn_hadoop-yarn-api.txt
        mvnsite https://builds.apache.org/job/PreCommit-YARN-Build/16506/artifact/patchprocess/patch-mvnsite-hadoop-yarn-project_hadoop-yarn_hadoop-yarn-api.txt
        findbugs https://builds.apache.org/job/PreCommit-YARN-Build/16506/artifact/patchprocess/patch-findbugs-hadoop-yarn-project_hadoop-yarn_hadoop-yarn-api.txt
        javadoc https://builds.apache.org/job/PreCommit-YARN-Build/16506/artifact/patchprocess/diff-javadoc-javadoc-hadoop-yarn-project_hadoop-yarn_hadoop-yarn-api.txt
        unit https://builds.apache.org/job/PreCommit-YARN-Build/16506/artifact/patchprocess/patch-unit-hadoop-yarn-project_hadoop-yarn_hadoop-yarn-api.txt
        Test Results https://builds.apache.org/job/PreCommit-YARN-Build/16506/testReport/
        modules C: hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api U: hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api
        Console output https://builds.apache.org/job/PreCommit-YARN-Build/16506/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 15m 19s Docker mode activated.       Prechecks +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.       trunk Compile Tests +1 mvninstall 14m 32s trunk passed +1 compile 0m 27s trunk passed +1 checkstyle 0m 15s trunk passed +1 mvnsite 0m 28s trunk passed +1 findbugs 1m 6s trunk passed +1 javadoc 0m 20s trunk passed       Patch Compile Tests -1 mvninstall 0m 24s hadoop-yarn-api in the patch failed. -1 compile 0m 19s hadoop-yarn-api in the patch failed. -1 javac 0m 19s hadoop-yarn-api in the patch failed. -0 checkstyle 0m 12s hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api: The patch generated 4 new + 28 unchanged - 11 fixed = 32 total (was 39) -1 mvnsite 0m 22s hadoop-yarn-api in the patch failed. +1 whitespace 0m 0s The patch has no whitespace issues. -1 findbugs 0m 19s hadoop-yarn-api in the patch failed. -1 javadoc 0m 16s hadoop-yarn-project_hadoop-yarn_hadoop-yarn-api generated 4 new + 123 unchanged - 0 fixed = 127 total (was 123)       Other Tests -1 unit 0m 20s hadoop-yarn-api in the patch failed. +1 asflicense 0m 16s The patch does not generate ASF License warnings. 36m 5s Subsystem Report/Notes Docker Image:yetus/hadoop:14b5c93 JIRA Issue YARN-6768 JIRA Patch URL https://issues.apache.org/jira/secure/attachment/12878234/YARN-6768.5.patch Optional Tests asflicense compile javac javadoc mvninstall mvnsite unit findbugs checkstyle uname Linux a3e67ebf93fb 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 trunk / c8df366 Default Java 1.8.0_131 findbugs v3.1.0-RC1 mvninstall https://builds.apache.org/job/PreCommit-YARN-Build/16506/artifact/patchprocess/patch-mvninstall-hadoop-yarn-project_hadoop-yarn_hadoop-yarn-api.txt compile https://builds.apache.org/job/PreCommit-YARN-Build/16506/artifact/patchprocess/patch-compile-hadoop-yarn-project_hadoop-yarn_hadoop-yarn-api.txt javac https://builds.apache.org/job/PreCommit-YARN-Build/16506/artifact/patchprocess/patch-compile-hadoop-yarn-project_hadoop-yarn_hadoop-yarn-api.txt checkstyle https://builds.apache.org/job/PreCommit-YARN-Build/16506/artifact/patchprocess/diff-checkstyle-hadoop-yarn-project_hadoop-yarn_hadoop-yarn-api.txt mvnsite https://builds.apache.org/job/PreCommit-YARN-Build/16506/artifact/patchprocess/patch-mvnsite-hadoop-yarn-project_hadoop-yarn_hadoop-yarn-api.txt findbugs https://builds.apache.org/job/PreCommit-YARN-Build/16506/artifact/patchprocess/patch-findbugs-hadoop-yarn-project_hadoop-yarn_hadoop-yarn-api.txt javadoc https://builds.apache.org/job/PreCommit-YARN-Build/16506/artifact/patchprocess/diff-javadoc-javadoc-hadoop-yarn-project_hadoop-yarn_hadoop-yarn-api.txt unit https://builds.apache.org/job/PreCommit-YARN-Build/16506/artifact/patchprocess/patch-unit-hadoop-yarn-project_hadoop-yarn_hadoop-yarn-api.txt Test Results https://builds.apache.org/job/PreCommit-YARN-Build/16506/testReport/ modules C: hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api U: hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api Console output https://builds.apache.org/job/PreCommit-YARN-Build/16506/console Powered by Apache Yetus 0.6.0-SNAPSHOT http://yetus.apache.org This message was automatically generated.
        Hide
        hadoopqa Hadoop QA added a comment -
        -1 overall



        Vote Subsystem Runtime Comment
        0 reexec 20m 14s 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.
              trunk Compile Tests
        0 mvndep 0m 17s Maven dependency ordering for branch
        +1 mvninstall 13m 53s trunk passed
        +1 compile 15m 13s trunk passed
        +1 checkstyle 1m 57s trunk passed
        +1 mvnsite 2m 6s trunk passed
        +1 findbugs 2m 39s trunk passed
        +1 javadoc 1m 21s trunk passed
              Patch Compile Tests
        0 mvndep 0m 16s Maven dependency ordering for patch
        +1 mvninstall 1m 14s the patch passed
        +1 compile 11m 40s the patch passed
        +1 javac 11m 40s the patch passed
        -0 checkstyle 2m 2s root: The patch generated 10 new + 28 unchanged - 11 fixed = 38 total (was 39)
        +1 mvnsite 2m 6s the patch passed
        +1 whitespace 0m 0s The patch has no whitespace issues.
        +1 findbugs 3m 4s the patch passed
        +1 javadoc 1m 29s the patch passed
              Other Tests
        -1 unit 8m 45s hadoop-common in the patch failed.
        +1 unit 0m 40s hadoop-yarn-api in the patch passed.
        +1 asflicense 0m 42s The patch does not generate ASF License warnings.
        111m 26s



        Reason Tests
        Failed junit tests hadoop.test.TestLambdaTestUtils



        Subsystem Report/Notes
        Docker Image:yetus/hadoop:14b5c93
        JIRA Issue YARN-6768
        JIRA Patch URL https://issues.apache.org/jira/secure/attachment/12878243/YARN-6768.6.patch
        Optional Tests asflicense compile javac javadoc mvninstall mvnsite unit findbugs checkstyle
        uname Linux 72b83375df60 3.13.0-116-generic #163-Ubuntu SMP Fri Mar 31 14:13:22 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
        Build tool maven
        Personality /testptch/hadoop/patchprocess/precommit/personality/provided.sh
        git revision trunk / c8df366
        Default Java 1.8.0_131
        findbugs v3.1.0-RC1
        checkstyle https://builds.apache.org/job/PreCommit-YARN-Build/16507/artifact/patchprocess/diff-checkstyle-root.txt
        unit https://builds.apache.org/job/PreCommit-YARN-Build/16507/artifact/patchprocess/patch-unit-hadoop-common-project_hadoop-common.txt
        Test Results https://builds.apache.org/job/PreCommit-YARN-Build/16507/testReport/
        modules C: hadoop-common-project/hadoop-common hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api U: .
        Console output https://builds.apache.org/job/PreCommit-YARN-Build/16507/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 20m 14s 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.       trunk Compile Tests 0 mvndep 0m 17s Maven dependency ordering for branch +1 mvninstall 13m 53s trunk passed +1 compile 15m 13s trunk passed +1 checkstyle 1m 57s trunk passed +1 mvnsite 2m 6s trunk passed +1 findbugs 2m 39s trunk passed +1 javadoc 1m 21s trunk passed       Patch Compile Tests 0 mvndep 0m 16s Maven dependency ordering for patch +1 mvninstall 1m 14s the patch passed +1 compile 11m 40s the patch passed +1 javac 11m 40s the patch passed -0 checkstyle 2m 2s root: The patch generated 10 new + 28 unchanged - 11 fixed = 38 total (was 39) +1 mvnsite 2m 6s the patch passed +1 whitespace 0m 0s The patch has no whitespace issues. +1 findbugs 3m 4s the patch passed +1 javadoc 1m 29s the patch passed       Other Tests -1 unit 8m 45s hadoop-common in the patch failed. +1 unit 0m 40s hadoop-yarn-api in the patch passed. +1 asflicense 0m 42s The patch does not generate ASF License warnings. 111m 26s Reason Tests Failed junit tests hadoop.test.TestLambdaTestUtils Subsystem Report/Notes Docker Image:yetus/hadoop:14b5c93 JIRA Issue YARN-6768 JIRA Patch URL https://issues.apache.org/jira/secure/attachment/12878243/YARN-6768.6.patch Optional Tests asflicense compile javac javadoc mvninstall mvnsite unit findbugs checkstyle uname Linux 72b83375df60 3.13.0-116-generic #163-Ubuntu SMP Fri Mar 31 14:13:22 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux Build tool maven Personality /testptch/hadoop/patchprocess/precommit/personality/provided.sh git revision trunk / c8df366 Default Java 1.8.0_131 findbugs v3.1.0-RC1 checkstyle https://builds.apache.org/job/PreCommit-YARN-Build/16507/artifact/patchprocess/diff-checkstyle-root.txt unit https://builds.apache.org/job/PreCommit-YARN-Build/16507/artifact/patchprocess/patch-unit-hadoop-common-project_hadoop-common.txt Test Results https://builds.apache.org/job/PreCommit-YARN-Build/16507/testReport/ modules C: hadoop-common-project/hadoop-common hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api U: . Console output https://builds.apache.org/job/PreCommit-YARN-Build/16507/console Powered by Apache Yetus 0.6.0-SNAPSHOT http://yetus.apache.org This message was automatically generated.
        Hide
        jlowe Jason Lowe added a comment -

        Thanks for updating the patch! I think we're almost there.

        It looks like Nathan's comment was missed:

        Probably don't need to calculate full numDigits. once you have minimumDigits, you're done.

        We can cheaply add that check by adding a --minimumDigits > 0 condition to the loop. Then we no longer need numDigits at all and can simply loop minimumDigits times to add the prefix zeroes.

        It would also be good to move the relevant tests out of TestConverterUtils and into something like TestConversions unit test in hadoop-yarn-api. Many of those tests are really testing classes in hadoop-yarn-api and not even referencing ConverterUtils. We can defer the test cleanup to a followup JIRA if desired.

        Show
        jlowe Jason Lowe added a comment - Thanks for updating the patch! I think we're almost there. It looks like Nathan's comment was missed: Probably don't need to calculate full numDigits. once you have minimumDigits, you're done. We can cheaply add that check by adding a --minimumDigits > 0 condition to the loop. Then we no longer need numDigits at all and can simply loop minimumDigits times to add the prefix zeroes. It would also be good to move the relevant tests out of TestConverterUtils and into something like TestConversions unit test in hadoop-yarn-api. Many of those tests are really testing classes in hadoop-yarn-api and not even referencing ConverterUtils. We can defer the test cleanup to a followup JIRA if desired.
        Hide
        jeagles Jonathan Eagles added a comment -

        Thanks Jason Lowe and Nathan Roberts. This makes a nice addition.

        Show
        jeagles Jonathan Eagles added a comment - Thanks Jason Lowe and Nathan Roberts . This makes a nice addition.
        Hide
        hadoopqa Hadoop QA added a comment -
        -1 overall



        Vote Subsystem Runtime Comment
        0 reexec 0m 18s 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.
              trunk Compile Tests
        0 mvndep 0m 20s Maven dependency ordering for branch
        -1 mvninstall 18m 14s root in trunk failed.
        +1 compile 16m 57s trunk passed
        +1 checkstyle 1m 52s trunk passed
        +1 mvnsite 2m 1s trunk passed
        +1 findbugs 2m 31s trunk passed
        +1 javadoc 1m 19s trunk passed
              Patch Compile Tests
        0 mvndep 0m 17s Maven dependency ordering for patch
        +1 mvninstall 1m 6s the patch passed
        +1 compile 10m 15s the patch passed
        +1 javac 10m 15s the patch passed
        -0 checkstyle 1m 55s root: The patch generated 10 new + 28 unchanged - 11 fixed = 38 total (was 39)
        +1 mvnsite 2m 5s the patch passed
        +1 whitespace 0m 0s The patch has no whitespace issues.
        +1 findbugs 2m 54s the patch passed
        +1 javadoc 1m 26s the patch passed
              Other Tests
        -1 unit 7m 27s hadoop-common in the patch failed.
        +1 unit 0m 38s hadoop-yarn-api in the patch passed.
        +1 asflicense 0m 40s The patch does not generate ASF License warnings.
        94m 4s



        Reason Tests
        Failed junit tests hadoop.fs.sftp.TestSFTPFileSystem
          hadoop.net.TestDNS



        Subsystem Report/Notes
        Docker Image:yetus/hadoop:14b5c93
        JIRA Issue YARN-6768
        JIRA Patch URL https://issues.apache.org/jira/secure/attachment/12878422/YARN-6768.7.patch
        Optional Tests asflicense compile javac javadoc mvninstall mvnsite unit findbugs checkstyle
        uname Linux ec2831126b51 3.13.0-116-generic #163-Ubuntu SMP Fri Mar 31 14:13:22 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
        Build tool maven
        Personality /testptch/hadoop/patchprocess/precommit/personality/provided.sh
        git revision trunk / 465c213
        Default Java 1.8.0_131
        mvninstall https://builds.apache.org/job/PreCommit-YARN-Build/16519/artifact/patchprocess/branch-mvninstall-root.txt
        findbugs v3.1.0-RC1
        checkstyle https://builds.apache.org/job/PreCommit-YARN-Build/16519/artifact/patchprocess/diff-checkstyle-root.txt
        unit https://builds.apache.org/job/PreCommit-YARN-Build/16519/artifact/patchprocess/patch-unit-hadoop-common-project_hadoop-common.txt
        Test Results https://builds.apache.org/job/PreCommit-YARN-Build/16519/testReport/
        modules C: hadoop-common-project/hadoop-common hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api U: .
        Console output https://builds.apache.org/job/PreCommit-YARN-Build/16519/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 0m 18s 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.       trunk Compile Tests 0 mvndep 0m 20s Maven dependency ordering for branch -1 mvninstall 18m 14s root in trunk failed. +1 compile 16m 57s trunk passed +1 checkstyle 1m 52s trunk passed +1 mvnsite 2m 1s trunk passed +1 findbugs 2m 31s trunk passed +1 javadoc 1m 19s trunk passed       Patch Compile Tests 0 mvndep 0m 17s Maven dependency ordering for patch +1 mvninstall 1m 6s the patch passed +1 compile 10m 15s the patch passed +1 javac 10m 15s the patch passed -0 checkstyle 1m 55s root: The patch generated 10 new + 28 unchanged - 11 fixed = 38 total (was 39) +1 mvnsite 2m 5s the patch passed +1 whitespace 0m 0s The patch has no whitespace issues. +1 findbugs 2m 54s the patch passed +1 javadoc 1m 26s the patch passed       Other Tests -1 unit 7m 27s hadoop-common in the patch failed. +1 unit 0m 38s hadoop-yarn-api in the patch passed. +1 asflicense 0m 40s The patch does not generate ASF License warnings. 94m 4s Reason Tests Failed junit tests hadoop.fs.sftp.TestSFTPFileSystem   hadoop.net.TestDNS Subsystem Report/Notes Docker Image:yetus/hadoop:14b5c93 JIRA Issue YARN-6768 JIRA Patch URL https://issues.apache.org/jira/secure/attachment/12878422/YARN-6768.7.patch Optional Tests asflicense compile javac javadoc mvninstall mvnsite unit findbugs checkstyle uname Linux ec2831126b51 3.13.0-116-generic #163-Ubuntu SMP Fri Mar 31 14:13:22 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux Build tool maven Personality /testptch/hadoop/patchprocess/precommit/personality/provided.sh git revision trunk / 465c213 Default Java 1.8.0_131 mvninstall https://builds.apache.org/job/PreCommit-YARN-Build/16519/artifact/patchprocess/branch-mvninstall-root.txt findbugs v3.1.0-RC1 checkstyle https://builds.apache.org/job/PreCommit-YARN-Build/16519/artifact/patchprocess/diff-checkstyle-root.txt unit https://builds.apache.org/job/PreCommit-YARN-Build/16519/artifact/patchprocess/patch-unit-hadoop-common-project_hadoop-common.txt Test Results https://builds.apache.org/job/PreCommit-YARN-Build/16519/testReport/ modules C: hadoop-common-project/hadoop-common hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api U: . Console output https://builds.apache.org/job/PreCommit-YARN-Build/16519/console Powered by Apache Yetus 0.6.0-SNAPSHOT http://yetus.apache.org This message was automatically generated.
        Hide
        jlowe Jason Lowe added a comment -

        +1 for the latest patch. The unit test failures are unrelated. Committing this.

        Show
        jlowe Jason Lowe added a comment - +1 for the latest patch. The unit test failures are unrelated. Committing this.
        Hide
        jlowe Jason Lowe added a comment -

        Thanks to Jonathan Eagles for the contribution and to Nathan Roberts for additional review! I committed this to trunk, branch-2, branch-2.8, and branch-2.8.2.

        Show
        jlowe Jason Lowe added a comment - Thanks to Jonathan Eagles for the contribution and to Nathan Roberts for additional review! I committed this to trunk, branch-2, branch-2.8, and branch-2.8.2.
        Hide
        hudson Hudson added a comment -

        SUCCESS: Integrated in Jenkins build Hadoop-trunk-Commit #12049 (See https://builds.apache.org/job/Hadoop-trunk-Commit/12049/)
        YARN-6768. Improve performance of yarn api record toString and (jlowe: rev 24853bf32a045b8f029fb136edca2af03836c8d5)

        • (add) hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/util/TestFastNumberFormat.java
        • (edit) hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/ReservationId.java
        • (edit) hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/ApplicationAttemptId.java
        • (edit) hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/ApplicationId.java
        • (edit) hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/ContainerId.java
        • (add) hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/FastNumberFormat.java
        Show
        hudson Hudson added a comment - SUCCESS: Integrated in Jenkins build Hadoop-trunk-Commit #12049 (See https://builds.apache.org/job/Hadoop-trunk-Commit/12049/ ) YARN-6768 . Improve performance of yarn api record toString and (jlowe: rev 24853bf32a045b8f029fb136edca2af03836c8d5) (add) hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/util/TestFastNumberFormat.java (edit) hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/ReservationId.java (edit) hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/ApplicationAttemptId.java (edit) hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/ApplicationId.java (edit) hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/ContainerId.java (add) hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/FastNumberFormat.java

          People

          • Assignee:
            jeagles Jonathan Eagles
            Reporter:
            jeagles Jonathan Eagles
          • Votes:
            0 Vote for this issue
            Watchers:
            8 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development