You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ambari.apache.org by "Andrew Onischuk (JIRA)" <ji...@apache.org> on 2018/10/16 11:12:00 UTC
[jira] [Updated] (AMBARI-24638) Ambari-agent process memory leak
[ https://issues.apache.org/jira/browse/AMBARI-24638?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Andrew Onischuk updated AMBARI-24638:
-------------------------------------
Resolution: Fixed
Status: Resolved (was: Patch Available)
Committed to trunk and branch-2.7
> Ambari-agent process memory leak
> --------------------------------
>
> Key: AMBARI-24638
> URL: https://issues.apache.org/jira/browse/AMBARI-24638
> Project: Ambari
> Issue Type: Bug
> Affects Versions: 2.7.0
> Reporter: Andrew Onischuk
> Assignee: Andrew Onischuk
> Priority: Major
> Labels: pull-request-available
> Fix For: 2.7.2
>
> Attachments: AMBARI-24638.patch, AMBARI-24638.patch
>
> Time Spent: 1h 20m
> Remaining Estimate: 0h
>
> There was one process which started using memory rapidly at certain point and grew up to ~27GB of RSS used until eventually we restarted it. Which happened after a month of running of 10 ambari-agent nodes.
> [root@andrew2-1n01 ~]# ps aux | grep ambari_agent
> root 39955 0.0 0.0 47580 6024 ? S Aug17 0:00 /usr/bin/python /usr/lib/ambari-agent/lib/ambari_agent/AmbariAgent.py start
> root 39959 20.4 10.2 31623096 27154348 ? Sl Aug17 7645:55 /usr/bin/python /usr/lib/ambari-agent/lib/ambari_agent/main.py start
> Just before the growth in memory usage is seen. This exception pops out:
> ERROR 2018-09-11 10:56:59,716 websocket.py:552 - Websocket connection was closed with an exception
> Traceback (most recent call last):
> File "/usr/lib/ambari-agent/lib/ambari_ws4py/websocket.py", line 549, in run
> if not self.once():
> File "/usr/lib/ambari-agent/lib/ambari_ws4py/websocket.py", line 428, in once
> if not self.process(self.buf[:requested]):
> File "/usr/lib/ambari-agent/lib/ambari_ws4py/websocket.py", line 483, in process
> self.reading_buffer_size = s.parser.send(bytes) or DEFAULT_READING_SIZE
> ValueError: generator already executing
> This exception is not seen on all other nodes or on this one at any other period (during 1 month). So I suggest it can be the root cause.
> Basically this error means that generator is being used by multiple threads. So I will upload the fix to thread-lock this place.
> This is just a guess solution which might work and might not. No way to test really. But definitely we should try this.
>
> This is noticed in ambari-2.7.1.0-73 version as well.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)