[
https://issues.apache.org/jira/browse/YARN-10068?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17008525#comment-17008525
]
Anand Srinivasan commented on YARN-10068:
-----------------------------------------
Hi Prabhu Joseph,
Could you please review the patch ? Thanks.
Changes made :
(1)Call ClientResponse#close to close the inputstream when the HTTP response is
processed successfully.
(2)Code cleanup done to avoid NPE when resp object is null.
(3)Catch RuntimeException for ClientResponse#getEntity so
ClientResponse#getStatus can be logged in the msg properly. This helps in
debugging issues by checking the status code of the HTTP response. Previously,
when ClientResponse#getEntity throws an exception, tthe RuntimeException will
be raised to the upper layers of the stack without the message getting logged.
(4)Ran mvn clean install -DskipTests to validate the new code changes.
Thanks and kind regards.
> TimelineV2Client may leak file descriptors creating ClientResponse objects.
> ---------------------------------------------------------------------------
>
> Key: YARN-10068
> URL: https://issues.apache.org/jira/browse/YARN-10068
> Project: Hadoop YARN
> Issue Type: Sub-task
> Components: ATSv2
> Affects Versions: 3.0.0
> Environment: HDP VERSION3.1.4
> AMBARI VERSION2.7.4.0
> Reporter: Anand Srinivasan
> Assignee: Anand Srinivasan
> Priority: Critical
> Attachments: YARN-10068.001.patch, image-2020-01-02-14-58-12-773.png
>
>
> Hi team,
> Code-walkthrough between v1 and v2 of TimelineClient API revealed that v2 API
> TimelineV2ClientImpl#putObjects doesn't close ClientResponse objects under
> success status returned from Timeline Server. ClientResponse is closed only
> under erroneous response from the server using ClientResponse#getEntity.
> We also noticed that TimelineClient (v1) closes the ClientResponse object in
> TimelineWriter#putEntities by calling ClientResponse#getEntity in both
> success and error conditions from the server thereby avoiding this file
> descriptor leak.
> Customer's original issue and the symptom was that the NodeManager went down
> because of 'too many files open' condition where there were lots of
> CLOSED_WAIT sockets observed between the timeline client (from NM) and the
> timeline server hosts.
> Could you please help resolve this issue ? Thanks.
>
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]