Memory leak when using FinalizingBrokerImpl
-------------------------------------------

                 Key: OPENJPA-1193
                 URL: https://issues.apache.org/jira/browse/OPENJPA-1193
             Project: OpenJPA
          Issue Type: Bug
          Components: kernel
    Affects Versions: 1.2.1, 1.2.0
         Environment: All environments where the finalizing broker is used
            Reporter: David Minor
             Fix For: 1.3.0, 2.0.0-M1


When FinalizingBrokerImpl is used, AbstractBrokerFactory uses a set backed by 
java's ConcurrentHashMap to keep track of brokers, rather than a weak reference 
org.apache.openjpa.lib.util.concurrent.ConcurrentReferenceHashSet as it did 
previously. This can lead to a memory leak if the brokers are never removed 
from the Set.

The change was originally checked in by Patrick Linskey in revision 653000 with 
the comment "Improve concurrency by actively managing AbstractBrokerFactory's 
broker set when using non-finalizing brokers. Credit goes to Arunabh Hazarika 
for identifying the bottleneck and prototyping this solution."

Changing the _brokers Set back to a weak reference ConcurrentReferenceHashSet 
fixes the memory leak.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to