[ 
https://issues.apache.org/jira/browse/AMBARI-7221?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14127976#comment-14127976
 ] 

Jonathan Hurley commented on AMBARI-7221:
-----------------------------------------

Removing session support is actually not feasible since the web client uses the 
AMBARISESSIONID token for credentials after the initial authentication. The 
best solution here is to have spring only create a session when AMBARISESSIONID 
is used, but there's no way to know that since an initial request is not 
required to contain a random ID.

Setting the inactive timeout value for sessions alleviates the problem. 
Although sessions are created for pure stateless REST calls, they are reaped 
correctly.

> Ambari Server REST API Memory Leak
> ----------------------------------
>
>                 Key: AMBARI-7221
>                 URL: https://issues.apache.org/jira/browse/AMBARI-7221
>             Project: Ambari
>          Issue Type: Bug
>          Components: ambari-server
>    Affects Versions: 1.6.0
>         Environment: Oracle JDK 1.7.0_45 on CentOS 6.5 64-bit
> SLES 11 SP1 64-bit with Oracle JDK 1.7 
>            Reporter: Jonathan Hurley
>            Assignee: Jonathan Hurley
>            Priority: Critical
>             Fix For: 1.7.0
>
>
> PROBLEM: When running many 1000's of REST API calls, the heap memory usage of 
> the Ambari server slowly goes up. Forcing a garbage collection will reclaim 
> some of the heap but it never goes back down to its starting level. 
> Eventually the JVM is forced to do a full GC which hangs the Ambari server 
> for several minutes and, again, doesn't free all of the heap used by the API 
> calls.
> The Ambari server stopped working with out of heap space messages.
> STEPS TO REPRODUCE: I was able to reproduce the issue using this simple 
> script run on the Ambari server machine:
> {{while [ 1 ]; do curl -u admin:admin http://localhost:8080/api/v1/clusters; 
> done}}
> ACTUAL BEHAVIOR: Ambari server heap memory usage increases over time when the 
> REST API is used repeatedly. GC does not free it.
> EXPECTED BEHAVIOR: Memory used by REST API connections should be released 
> after a GC.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to