[
https://issues.apache.org/jira/browse/JAMES-3026?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Benoit Tellier closed JAMES-3026.
---------------------------------
Fix Version/s: 3.5.0
Resolution: Fixed
> OpenJPA memory leak
> -------------------
>
> Key: JAMES-3026
> URL: https://issues.apache.org/jira/browse/JAMES-3026
> Project: James Server
> Issue Type: Bug
> Components: jpa
> Affects Versions: 3.4.0
> Reporter: Simon Levesque
> Priority: Major
> Fix For: 3.5.0
>
> Time Spent: 1h
> Remaining Estimate: 0h
>
> Initially, I got this error after running for about 1.5 days:
> {noformat}
> 21:53:38.455 [smtpserver-executor-82] ERROR
> o.a.j.p.n.BasicChannelUpstreamHandler - Unable to process request
> java.lang.OutOfMemoryError: GC overhead limit exceeded{noformat}
> h1. Try #1
> I added more memory with "-Xmx", but that only took a bit more hours to get
> out of memory.
> h1. Try #2
> I checked the heap map and found:
> {noformat}
> 38,405 instances of "org.apache.openjpa.kernel.FinalizingBrokerImpl", loaded
> by "sun.misc.Launcher$AppClassLoader @ 0x6c041ee08" occupy 1,198,987,104
> (91.22%) bytes. These instances are referenced from one instance of
> "java.util.concurrent.ConcurrentHashMap$Node[]", loaded by "<system class
> loader>"
> Keywords
> sun.misc.Launcher$AppClassLoader @ 0x6c041ee08
> java.util.concurrent.ConcurrentHashMap$Node[]
> org.apache.openjpa.kernel.FinalizingBrokerImpl
> {noformat}
>
> Which lead me to this article
> [http://chathuriwimalasena.blogspot.com/2014/06/best-practices-when-using-apache.html]
> .
> In summary, before closing any connection, we should check if it contains an
> active transaction and roll it back.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]