Caveat: I'm not really an expert on Cayenne memory management.
1) Are you allocating enough heap memory to the app server to start
with? I don't know what the default is these days, but in the old
days, an application by default only gets 64Mb of memory -- that's
pretty small.
2) Are you using a new DataContext per request? Or at least per session?
3) I seem to remember that the cache strategy is configurable. Have
you configured a cache that only retains N number of objects for a
suitable value of N?
On Wed, Sep 16, 2009 at 2:11 PM, Joe Baldwin <jfbaldwi..arthlink.net> wrote:
> Hi,
>
> I have asked this question a number of ways but I still have a very serious
> problem with Cayenne-specific memory management configuration associated
> with Tomcat.
>
> The problem with debugging is that given that I have very little visibility
> into the Cayenne memory management it is extremely difficult to debug this
> using conventional strategies. Also I am not requesting anything from the
> system that is terribly exceptional so I am attempting to use default
> settings as much as possible.
>
> My strategy is to ask the experts for a Cayenne configuration and standard
> memory management steps I should take to conform to the new Cayenne memory
> management design intentions.
>
> Problem:
> 1. I have essentially a webstore, three tier design with Tomcat, Cayenne and
> MySQL.
> 2. When after only a few queries of products, tomcat freezes up and reports
> out of memory errors.
>
> I have attempted to configure the caching strategy ask best as I can
> understand from the docks but this only gets me a few more hours of usage
> before the out of memory errors. (I tried the SHARED_CACHE). The NO_CACHE
> strategy is worse.
>
> I would appreciate a set of steps (aka a primer) that should handle a
> website with a lot of fetches of hundreds of data objects (i.e. products)
> and very few updates.
>
> Note: My gut feeling is that I am not properly managing the data object
> array properly and it is leaking memory.
>
> I would appreciate any input, but I would first like to know what the
> minimum require steps are for managing at data object result set ArrayList
> so as to properly cache and then properly free the memory after it is no
> longer needed.
>
> Context: Tomcat, MySQL, Cayenne 3.0M6
>
> Thanks,
> Joe Baldwin
>
>
This archive was generated by hypermail 2.0.0 : Wed Sep 16 2009 - 14:26:54 EDT