cayenne-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Victor Leung <victor.le...@digiflex-solutions.com>
Subject Large number of EventManager threads causing OutOfMemoryException
Date Thu, 29 Apr 2010 17:07:15 GMT
Hi all,

We are using Cayenne 3.0RC3. Our application has a web tier and a business /
data access tier (both deployed on Glassfish v2.1.1). Communication between
the two tiers is through the use of Cayenne Web Service.

We have been encountering OutOfMemoryException after a couple of days of
routine usage. Heap dumps show a large number of daemon threads associated
with EventManager. As an example, there are some 13,000 entries in the heap
dump similar to this:

    &quot;cayenne-edt-16165743-0&quot; daemon prio=10 tid=0x576d3800
nid=0x5b2a in Object.wait() [0x847ad000]
       java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        at
org.apache.cayenne.event.EventManager$DispatchThread.run(EventManager.java:476)
        - locked &lt;0x96d28c40&gt; (a
java.util.Collections$SynchronizedList)

There are no evidence of any deadlocked threads.

We have since turned on monitoring on the JVM. It appears that the number of
daemon threads stays more-or-less constant whilst we are just reading from
the DB, but will creep up slowly over time whenever we do any sort of DB
updates.

Any hints as to how we can get around this problem would be much
appreciated!

Thanks in advance,
Vic

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message