Re: OutOfMemory hibernate scroll with 2M records | Postgresql 8.4 DB

From: Mark Kirkwood <mark(dot)kirkwood(at)catalyst(dot)net(dot)nz>
To: Ankit Kumar <ankitk(at)xebia(dot)com>
Cc: pgsql-jdbc(at)postgresql(dot)org
Subject: Re: OutOfMemory hibernate scroll with 2M records | Postgresql 8.4 DB
Date: 2009-12-22 04:35:25
Message-ID: 4B304C8D.8000608@catalyst.net.nz
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

Ankit Kumar wrote:
> Hi
>
> I am running a Criteria.scroll() on postgresql on a DB containing 2M
> records. The memory keeps increasing and finally it generates an
> OutOfMemoryException. Please can you advice how to fix this.
>
> *Postgresql DB version:* 8.4
> *Postgresql Driver Used:* postgresql-8.4-701.jdbc4.jar
>
> Some forums do mention that "/scroll/" is slow on Postgresql.
>
> Is this a known issue or we need to do something specific to make
> scroll work on Postgresql?
>
> It appears the driver class is loading all entity objects in memory
> and not releasing them as expected in a scroll operation.
>
>
> Appreciate any guidance/suggestion.
>
> *Exception StackTrace*:
> java.lang.OutOfMemoryError: Java heap space
>
>

This link might be useful for you to look at:

https://forums.hibernate.org/viewtopic.php?p=2398604&sid=f277fe884089594fe39272f69b68e329

It would appear that you need to encourage Hibernate to use a cursor,
instead of buffering the entire resultset in memory - I haven't looked
too much at the hibernate docs (never used it before...) so I have no
idea how to do this myself, but if I have time I'll dig a bit.

Do you have a self contained example to show us how you are setting up
the scrollable resultset?

regards

Mark

In response to

Browse pgsql-jdbc by date

  From Date Subject
Next Message Craig Ringer 2009-12-22 04:49:33 Re: OutOfMemory hibernate scroll with 2M records | Postgresql 8.4 DB
Previous Message Ankit Kumar 2009-12-22 04:15:35 OutOfMemory hibernate scroll with 2M records | Postgresql 8.4 DB