Andi Huber created ISIS-2156:
--------------------------------
Summary: Security Manager Extension: Memory Leak w/
PrincipalForApplicationUser
Key: ISIS-2156
URL: https://issues.apache.org/jira/browse/ISIS-2156
Project: Isis
Issue Type: Improvement
Components: Extensions
Reporter: Andi Huber
Fix For: 2.0.0
Hi,
We ran into the issue that our application keeps building up memory but never
releases it. We could track it down to the class PrincipalForApplicationUser.
Every time a user is authenticated, a new PrincipalForApplicationUser object is
created and it is then never released. We experience this memory issue after a
change of increasing the number of permissions from 20 to about 200. When
comparing the behaviour of the application before and after the change we see
that the retained size of the PrincipalForApplicationUser class has increased
from about 15KB per instance to about 210KB per instance. For our investigation
we created a test environment based on the simpleapp application to be able to
isolate the issue and reproduce the issue in a minimalistic environment. So the
simpleapp application was extended with 200 fields on which permissions are
set. In our test we set the maximum memory size of the VM to 200MB. The test
application uses about 40MB initially. We then start firing requests to the
application (using jmeter), to: /restful/services/simple.SimpleObjectMenu What
we observe then is that memory usage grows rather quickly and eventually it is
exhausted. Can you help with a solution for this issue? The simpleapp test
application we used is available on github:
[https://github.com/pocos-nl/isis-simpleapp-memoryissues]
It also includes the jmeter test script:
memoryLeak-bareApp-SecurityPerformanceTestObject.jmx Thanks, Leandro
D'Agostino
--
This message was sent by Atlassian JIRA
(v7.6.14#76016)