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)

Reply via email to