jackrabbit-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jukka Zitting" <jukka.zitt...@gmail.com>
Subject Re: Out of memory problem
Date Mon, 25 Feb 2008 17:28:17 GMT
Hi,

On Mon, Feb 25, 2008 at 6:16 PM, Tong Fin <tong.fin2@gmail.com> wrote:
>  My applications needs to create a large number of nodes.
>  At some point in the node creation, I got "out of memory" exception.
>
>  To avoid this "out of memory" problem, from time to time, my application
>  call "Session.save" or "Node.save" methods.

Yes, this is currently (until Jackrabbit starts storing the transient
space on disk) the correct solution.

>  But, this "save" method is very slow (processing 20000 nodes can take about
>  30 minutes!).

Could you describe the contents of your nodes in more detail? How many
properties or child nodes per node? Any large binary properties?

Also, are you using an external database or the default embedded Derby
for persistence? Jackrabbit performance gets hit pretty bad if the
network roundtrip time to an external database is high.

>  I am usinng 1.3.3 version.

I assume you use the default database persistence manager. You might
want to try switching to bundle persistence (available in 1.3, default
in 1.4) that typically gives a major performance boost for cases like
yours.

Also, if you have many large binary properties, upgrading to 1.4 (with
jackrabbit-core 1.4.1) and enabling the new data store feature would
remove a lot of extra copying between the transient space and the
persistence layer.

BR,

Jukka Zitting

Mime
View raw message