openjpa-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "David Minor (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (OPENJPA-1193) Memory leak when using FinalizingBrokerImpl
Date Mon, 16 Jun 2014 16:00:02 GMT

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

David Minor commented on OPENJPA-1193:
--------------------------------------

My recollection of this issue is that the finalizing broker code was intended to provide automatic
clean up the broker when it went out of scope, rather than requiring explicit cleanup, but
a misplaced ! mooted the functionality.

> 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.0, 1.2.1, 2.1.1, 2.2.0
>         Environment: All environments where the finalizing broker is used
>            Reporter: David Minor
>            Assignee: Donald Woods
>             Fix For: 1.3.0
>
>         Attachments: fix-finalizing-broker-memory-leak.patch
>
>
> 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 was sent by Atlassian JIRA
(v6.2#6252)

Mime
View raw message