[gatein-issues] [JBoss JIRA] (GTNPORTAL-3510) Possible memory leaks, consistency issues and concurrency issues in ScriptGraph

Peter Palaga (JIRA) issues at jboss.org
Tue Jun 10 08:59:16 EDT 2014


Peter Palaga created GTNPORTAL-3510:
---------------------------------------

             Summary: Possible memory leaks, consistency issues and concurrency issues in ScriptGraph
                 Key: GTNPORTAL-3510
                 URL: https://issues.jboss.org/browse/GTNPORTAL-3510
             Project: GateIn Portal
          Issue Type: Feature Request
      Security Level: Public (Everyone can see)
            Reporter: Peter Palaga
            Assignee: Peter Palaga


h4. Problems in the Present State
(1) Consitency: there are {{IllegalStateException}} s thrown when adding resources from a deployment. Those exceptions can be thrown in the middle of such an adding which can lead to an inconsistent state when resources from a particular deployment are partly there and partly not there in the {{ScriptGraph}}.
(2) Consitency: The present resource removal code does not ensure that a removed resource is also removed from dependent resources, closures and load groups. There are also no tests checking that.
(3) Possible leaks: closures and load groups are not cleaned upon resource removals which can lead to memory leaks. This is a consequence of (2). 
(4) Concurrency: add and remove operations manipulate directly with collection instances that can be read (e.g. via {{getResource()}}) concurrently from other threads. 

h4. Solution proposal
\(i) Make {{ScriptGraph}} immutable and always create a new instance (using some kind of builder pattern) when adding or removing resources. This should solve problems (1) and (4).
(ii) Improve the resource removal code to the effect that dependencies, closures and load groups are kept consistent upon removals. Add tests. This should solve problems (2) and (3).



--
This message was sent by Atlassian JIRA
(v6.2.3#6260)


More information about the gatein-issues mailing list