Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 2.8.0, 2.7.4, 3.0.0-alpha1
    • Component/s: mrv2
    • Labels:
      None
    • Target Version/s:
    • Hadoop Flags:
      Reviewed

      Description

      ShuffleHandler doesn't specify a listen queue length for the server port, so it ends up getting the default listen queue length of 50. This is too small to handle bursts of shuffle traffic on large clusters. It's also inconsistent with the default Hadoop uses for RPC servers (default=128).

        Issue Links

          Activity

          Hide
          jlowe Jason Lowe added a comment -

          Attaching a patch that makes the shuffle server listen queue length configurable via mapreduce.shuffle.listen.queue.size and defaults to 128. I couldn't find a good way to unit test it, so I manually tested by starting up the nodemanager with varying listen queue length settings and verifying via ss -ltn.

          Show
          jlowe Jason Lowe added a comment - Attaching a patch that makes the shuffle server listen queue length configurable via mapreduce.shuffle.listen.queue.size and defaults to 128. I couldn't find a good way to unit test it, so I manually tested by starting up the nodemanager with varying listen queue length settings and verifying via ss -ltn .
          Hide
          hadoopqa Hadoop QA added a comment -
          -1 overall



          Vote Subsystem Runtime Comment
          0 reexec 0m 20s 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.
          0 mvndep 0m 9s Maven dependency ordering for branch
          +1 mvninstall 8m 9s trunk passed
          +1 compile 1m 52s trunk passed
          +1 checkstyle 0m 30s trunk passed
          +1 mvnsite 0m 55s trunk passed
          +1 mvneclipse 0m 27s trunk passed
          +1 findbugs 1m 20s trunk passed
          +1 javadoc 0m 39s trunk passed
          0 mvndep 0m 10s Maven dependency ordering for patch
          +1 mvninstall 0m 42s the patch passed
          +1 compile 1m 54s the patch passed
          +1 javac 1m 54s the patch passed
          +1 checkstyle 0m 27s the patch passed
          +1 mvnsite 0m 43s the patch passed
          +1 mvneclipse 0m 23s the patch passed
          +1 whitespace 0m 0s The patch has no whitespace issues.
          +1 xml 0m 1s The patch has no ill-formed XML file.
          +1 findbugs 1m 21s the patch passed
          +1 javadoc 0m 36s the patch passed
          +1 unit 2m 19s hadoop-mapreduce-client-core in the patch passed.
          +1 unit 0m 24s hadoop-mapreduce-client-shuffle in the patch passed.
          +1 asflicense 0m 17s The patch does not generate ASF License warnings.
          24m 27s



          Subsystem Report/Notes
          Docker Image:yetus/hadoop:9560f25
          JIRA Patch URL https://issues.apache.org/jira/secure/attachment/12824610/MAPREDUCE-6763.001.patch
          JIRA Issue MAPREDUCE-6763
          Optional Tests asflicense compile javac javadoc mvninstall mvnsite unit xml findbugs checkstyle
          uname Linux 7c1cc615e712 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 / 03a9343
          Default Java 1.8.0_101
          findbugs v3.0.0
          Test Results https://builds.apache.org/job/PreCommit-MAPREDUCE-Build/6682/testReport/
          modules C: hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-shuffle U: hadoop-mapreduce-project/hadoop-mapreduce-client
          Console output https://builds.apache.org/job/PreCommit-MAPREDUCE-Build/6682/console
          Powered by Apache Yetus 0.3.0 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 20s 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. 0 mvndep 0m 9s Maven dependency ordering for branch +1 mvninstall 8m 9s trunk passed +1 compile 1m 52s trunk passed +1 checkstyle 0m 30s trunk passed +1 mvnsite 0m 55s trunk passed +1 mvneclipse 0m 27s trunk passed +1 findbugs 1m 20s trunk passed +1 javadoc 0m 39s trunk passed 0 mvndep 0m 10s Maven dependency ordering for patch +1 mvninstall 0m 42s the patch passed +1 compile 1m 54s the patch passed +1 javac 1m 54s the patch passed +1 checkstyle 0m 27s the patch passed +1 mvnsite 0m 43s the patch passed +1 mvneclipse 0m 23s the patch passed +1 whitespace 0m 0s The patch has no whitespace issues. +1 xml 0m 1s The patch has no ill-formed XML file. +1 findbugs 1m 21s the patch passed +1 javadoc 0m 36s the patch passed +1 unit 2m 19s hadoop-mapreduce-client-core in the patch passed. +1 unit 0m 24s hadoop-mapreduce-client-shuffle in the patch passed. +1 asflicense 0m 17s The patch does not generate ASF License warnings. 24m 27s Subsystem Report/Notes Docker Image:yetus/hadoop:9560f25 JIRA Patch URL https://issues.apache.org/jira/secure/attachment/12824610/MAPREDUCE-6763.001.patch JIRA Issue MAPREDUCE-6763 Optional Tests asflicense compile javac javadoc mvninstall mvnsite unit xml findbugs checkstyle uname Linux 7c1cc615e712 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 / 03a9343 Default Java 1.8.0_101 findbugs v3.0.0 Test Results https://builds.apache.org/job/PreCommit-MAPREDUCE-Build/6682/testReport/ modules C: hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-shuffle U: hadoop-mapreduce-project/hadoop-mapreduce-client Console output https://builds.apache.org/job/PreCommit-MAPREDUCE-Build/6682/console Powered by Apache Yetus 0.3.0 http://yetus.apache.org This message was automatically generated.
          Hide
          nroberts Nathan Roberts added a comment -

          Thanks Jason Lowe for the improvement. This will certainly help busy shuffle handlers although larger clusters will probably want to tune this up well above the default of 128. Patch looks good, +1 (non-binding).

          Show
          nroberts Nathan Roberts added a comment - Thanks Jason Lowe for the improvement. This will certainly help busy shuffle handlers although larger clusters will probably want to tune this up well above the default of 128. Patch looks good, +1 (non-binding).
          Hide
          varun_saxena Varun Saxena added a comment -

          +1.
          Will commit it shortly.

          Show
          varun_saxena Varun Saxena added a comment - +1. Will commit it shortly.
          Hide
          varun_saxena Varun Saxena added a comment -

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

          Thanks Jason Lowe for your contribution and Nathan Roberts for the review.

          Show
          varun_saxena Varun Saxena added a comment - Committed to trunk, branch-2, branch-2.8 and branch-2.7 Thanks Jason Lowe for your contribution and Nathan Roberts for the review.
          Hide
          hudson Hudson added a comment -

          SUCCESS: Integrated in Jenkins build Hadoop-trunk-Commit #10312 (See https://builds.apache.org/job/Hadoop-trunk-Commit/10312/)
          MAPREDUCE-6763. Shuffle server listen queue is too small (Jason Lowe via (varunsaxena: rev 723facfa408f469891e67084bdafa18841a0cf64)

          • (edit) hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/resources/mapred-default.xml
          • (edit) hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-shuffle/src/main/java/org/apache/hadoop/mapred/ShuffleHandler.java
          Show
          hudson Hudson added a comment - SUCCESS: Integrated in Jenkins build Hadoop-trunk-Commit #10312 (See https://builds.apache.org/job/Hadoop-trunk-Commit/10312/ ) MAPREDUCE-6763 . Shuffle server listen queue is too small (Jason Lowe via (varunsaxena: rev 723facfa408f469891e67084bdafa18841a0cf64) (edit) hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/resources/mapred-default.xml (edit) hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-shuffle/src/main/java/org/apache/hadoop/mapred/ShuffleHandler.java

            People

            • Assignee:
              jlowe Jason Lowe
              Reporter:
              jlowe Jason Lowe
            • Votes:
              0 Vote for this issue
              Watchers:
              9 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development