Hi all,
I am having trouble with a cocoon 2.1 portal application. We use a single layout for the site, users cannot really customize it but some maximizing/restoring is done (a search coplet that maximizes to show search results for example). At the moment, the servers are restarted every night as memory usage is increasing over the day. A heap dump analysis showed that the MemoryAspectDataStore grows to ~300MB, with ~300000 entries in the store (HashMap). These result from coplet data aspect for the aspects "sizable" and "mandatory" being saved in the MemoryAspectDataStore. I thought a quick solution would have been to change their store from "memory" to "session", but there is a comment in the original cocoon.xconf "Use only the 'memory' aspect store with aspect datas!", so I did not try that. I couldn't find any code that empties the store or deletes formerly added entries, so I suppose that something is wrong with our usage of layout / coplet data objects? Both coplet instance data and layout data are currently saved and read to xml files on disk as some information is stored in the user objects. Also, the application automatically creates a user for any new session, which adds 15 entries to the MemoryAspectDataStore. It seems that the login (LoginAction) of the user (anonymous or regular) triggers a loading of the profile (GroupBasedProfileManager.login()), which in turn writes the aspect data for every coplet to the MemoryAspectDataStore, where it seem to stay forever.
Is this normal behavior or does it happen to an invalid configuration?
Thanks for any hint!
Best regards,
Nils Kaiser

Reply via email to