openjpa-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jim Talbut <jtal...@spudsoft.co.uk>
Subject Audit(?) related memory leak/hog
Date Mon, 06 Aug 2012 19:56:54 GMT
Hi,

I have an OSGi app that uses OpenJPA 2.2.0 and makes use of the audit 
functionality.
Some of the entities that get recorded contain BLOB fields (documents).

I'm getting occasional massive uses of memory (~900MB on a machine that 
typically sits at ~150MB) closely followed by hangs and often a restart 
by the karaf wrapper.

Looking at a memory dump I see that there are multiple copies of my BLOB 
entity in memory (not just multiple records, but multiple copies of each 
record) during a period of inactivity (where I wouldn't expect to see any).

Trying to track back responsibility for the objects gives me this tree:
this  Document_JpaImpl
   value ConcurrentHashMap$HashEntry
     [0] ConcurrentHashMap$HashEntry[]
       table ConcurrentHashMap$Segment
         [7] ConcurrentHashMap$Segment[]
           segments   ConcurrentHashMap
             _audits AuditManager$AuditCallback
               [43]  Object[]
                 elementData LifecycleEventManager$ListenerList
                   ...
               [43]  Object[]
                 elementData LifecycleEventManager$ListenerList
                   ...
               [43]  Object[]
                 elementData LifecycleEventManager$ListenerList
                   ...
             this$0
(I'm not sure how useful that is!)

There are a lot of other duplicate JPA entities in memory too, but they 
are smaller and less of a problem.

Is this something I've done or a problem with OpenJPA?

Thanks

Jim

Mime
View raw message