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

TimelineWriter does not fully consume the POST response

    Details

    • Target Version/s:
    • Hadoop Flags:
      Reviewed

      Description

      TimelineWriter does not fully consume the response to the POST request, and that ends up preventing the HTTP client from being reused for the next write of an entity.

        Activity

        Hide
        jlowe Jason Lowe added a comment -

        This becomes particularly problematic when the writer is communicating to the timeline server via HTTPS. The lack of reuse causes each new HTTP client to renegotiate the SSL connection, and Jetty rejects the renegotiate and closes the connection. The end result is that each posting of a timeline entity requires a new socket connection.

        Show
        jlowe Jason Lowe added a comment - This becomes particularly problematic when the writer is communicating to the timeline server via HTTPS. The lack of reuse causes each new HTTP client to renegotiate the SSL connection, and Jetty rejects the renegotiate and closes the connection. The end result is that each posting of a timeline entity requires a new socket connection.
        Hide
        jlowe Jason Lowe added a comment -

        Attaching a patch that calls ClientReponse#bufferEntity so we fully consume the response from the input stream. Verified that after this change the number of "WARN mortbay.log: SSL renegotiate denied" messages in the timeline server log drastically reduced. Not sure offhand how to write a unit test for this.

        Show
        jlowe Jason Lowe added a comment - Attaching a patch that calls ClientReponse#bufferEntity so we fully consume the response from the input stream. Verified that after this change the number of "WARN mortbay.log: SSL renegotiate denied" messages in the timeline server log drastically reduced. Not sure offhand how to write a unit test for this.
        Hide
        hadoopqa Hadoop QA added a comment -
        -1 overall



        Vote Subsystem Runtime Comment
        0 reexec 0m 16s 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 7s trunk passed
        +1 compile 0m 28s trunk passed
        +1 checkstyle 0m 20s trunk passed
        +1 mvnsite 0m 31s trunk passed
        +1 findbugs 1m 0s trunk passed
        +1 javadoc 0m 28s trunk passed
              Patch Compile Tests
        +1 mvninstall 0m 29s the patch passed
        +1 compile 0m 27s the patch passed
        +1 javac 0m 27s the patch passed
        -0 checkstyle 0m 17s hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common: The patch generated 1 new + 0 unchanged - 0 fixed = 1 total (was 0)
        +1 mvnsite 0m 29s the patch passed
        +1 whitespace 0m 0s The patch has no whitespace issues.
        +1 findbugs 1m 7s the patch passed
        +1 javadoc 0m 26s the patch passed
              Other Tests
        +1 unit 2m 18s hadoop-yarn-common in the patch passed.
        +1 asflicense 0m 18s The patch does not generate ASF License warnings.
        24m 14s



        Subsystem Report/Notes
        Docker Image:yetus/hadoop:14b5c93
        JIRA Issue YARN-6797
        JIRA Patch URL https://issues.apache.org/jira/secure/attachment/12876486/YARN-6797.001.patch
        Optional Tests asflicense compile javac javadoc mvninstall mvnsite unit findbugs checkstyle
        uname Linux fac3e5ea522c 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 / 09653ea
        Default Java 1.8.0_131
        findbugs v3.1.0-RC1
        checkstyle https://builds.apache.org/job/PreCommit-YARN-Build/16355/artifact/patchprocess/diff-checkstyle-hadoop-yarn-project_hadoop-yarn_hadoop-yarn-common.txt
        Test Results https://builds.apache.org/job/PreCommit-YARN-Build/16355/testReport/
        modules C: hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common U: hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common
        Console output https://builds.apache.org/job/PreCommit-YARN-Build/16355/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 16s 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 7s trunk passed +1 compile 0m 28s trunk passed +1 checkstyle 0m 20s trunk passed +1 mvnsite 0m 31s trunk passed +1 findbugs 1m 0s trunk passed +1 javadoc 0m 28s trunk passed       Patch Compile Tests +1 mvninstall 0m 29s the patch passed +1 compile 0m 27s the patch passed +1 javac 0m 27s the patch passed -0 checkstyle 0m 17s hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common: The patch generated 1 new + 0 unchanged - 0 fixed = 1 total (was 0) +1 mvnsite 0m 29s the patch passed +1 whitespace 0m 0s The patch has no whitespace issues. +1 findbugs 1m 7s the patch passed +1 javadoc 0m 26s the patch passed       Other Tests +1 unit 2m 18s hadoop-yarn-common in the patch passed. +1 asflicense 0m 18s The patch does not generate ASF License warnings. 24m 14s Subsystem Report/Notes Docker Image:yetus/hadoop:14b5c93 JIRA Issue YARN-6797 JIRA Patch URL https://issues.apache.org/jira/secure/attachment/12876486/YARN-6797.001.patch Optional Tests asflicense compile javac javadoc mvninstall mvnsite unit findbugs checkstyle uname Linux fac3e5ea522c 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 / 09653ea Default Java 1.8.0_131 findbugs v3.1.0-RC1 checkstyle https://builds.apache.org/job/PreCommit-YARN-Build/16355/artifact/patchprocess/diff-checkstyle-hadoop-yarn-project_hadoop-yarn_hadoop-yarn-common.txt Test Results https://builds.apache.org/job/PreCommit-YARN-Build/16355/testReport/ modules C: hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common U: hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common Console output https://builds.apache.org/job/PreCommit-YARN-Build/16355/console Powered by Apache Yetus 0.6.0-SNAPSHOT http://yetus.apache.org This message was automatically generated.
        Hide
        nroberts Nathan Roberts added a comment -

        Thanks Jason. +1 on this patch.

        Show
        nroberts Nathan Roberts added a comment - Thanks Jason. +1 on this patch.
        Hide
        jlowe Jason Lowe added a comment -

        Thanks for the review, Nathan! I plan on committing this later today if there are no objections.

        Show
        jlowe Jason Lowe added a comment - Thanks for the review, Nathan! I plan on committing this later today if there are no objections.
        Hide
        sunilg Sunil G added a comment -

        +1 on this patch. I think writing a test case here is very tricky so i think a manual verification seems fine. I just checked and seems fine. Thank You.

        Show
        sunilg Sunil G added a comment - +1 on this patch. I think writing a test case here is very tricky so i think a manual verification seems fine. I just checked and seems fine. Thank You.
        Hide
        jlowe Jason Lowe added a comment -

        Thanks for the additional review, Sunil! I committed this to trunk, branch-2, branch-2.8, and branch-2.8.2.

        Show
        jlowe Jason Lowe added a comment - Thanks for the additional review, Sunil! 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 #11994 (See https://builds.apache.org/job/Hadoop-trunk-Commit/11994/)
        YARN-6797. TimelineWriter does not fully consume the POST response. (jlowe: rev 655110393bf90a7dac5d85f831ea225071f5f3c2)

        • (edit) hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/client/api/impl/TimelineWriter.java
        Show
        hudson Hudson added a comment - SUCCESS: Integrated in Jenkins build Hadoop-trunk-Commit #11994 (See https://builds.apache.org/job/Hadoop-trunk-Commit/11994/ ) YARN-6797 . TimelineWriter does not fully consume the POST response. (jlowe: rev 655110393bf90a7dac5d85f831ea225071f5f3c2) (edit) hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/client/api/impl/TimelineWriter.java

          People

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

            Dates

            • Created:
              Updated:
              Resolved:

              Development