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

Поиск
Список
Период
Сортировка
От
Тема Re: OutOfMemory hibernate scroll with 2M records | Postgresql 8.4 DB
Дата
Msg-id 396017e957dec15e4963f0cbcb6abcdd@smogura-softworks.eu
обсуждение исходный текст
Ответ на OutOfMemory hibernate scroll with 2M records | Postgresql 8.4 DB  (Ankit Kumar <ankitk@xebia.com>)
Список pgsql-jdbc
It's not a place of such discussion, and this is not a bug of PG JDBC,
just Hibernate works in this way

Try to use -Xms4G and buy some RAM;) or try to set
hibernate.jdbc.fetch_size or
https://www.hibernate.org/hib_docs/v3/api/org/hibernate/Criteria.html#setFetchSize(int)

Bear in mind all entities are keep in memory until session end /
transaction end (JPA).
----
Radosław Smogura

On Tue, 22 Dec 2009 09:45:35 +0530, Ankit Kumar <ankitk@xebia.com> 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
>  at java.lang.Class.getDeclaredFields0(Native Method)
>  at java.lang.Class.privateGetDeclaredFields(Class.java:2291)
>  at java.lang.Class.getDeclaredField(Class.java:1880)
>  at
>

java.util.concurrent.atomic.AtomicReferenceFieldUpdater$AtomicReferenceFieldUpdaterImpl.<init>(AtomicReferenceFieldUpdater.java:181)
>  at
>
java.util.concurrent.atomic.AtomicReferenceFieldUpdater.newUpdater(AtomicReferenceFieldUpdater.java:65)
>  at java.sql.SQLException.<clinit>(SQLException.java:353)
>  at
>
org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1777)
>  at
>
org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:257)
>  at
>
org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:479)
>  at
>
org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:367)
>  at
>
org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:271)
>  at
>
org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:93)
>  at
>
org.hibernate.jdbc.AbstractBatcher.getResultSet(AbstractBatcher.java:186)
>  at org.hibernate.loader.Loader.getResultSet(Loader.java:1787)
>  at org.hibernate.loader.Loader.scroll(Loader.java:2286)
>  at
>
org.hibernate.loader.criteria.CriteriaLoader.scroll(CriteriaLoader.java:89)
>  at org.hibernate.impl.SessionImpl.scroll(SessionImpl.java:1533)
>  at org.hibernate.impl.CriteriaImpl.scroll(CriteriaImpl.java:297)
>  at org.hibernate.impl.CriteriaImpl.scroll(CriteriaImpl.java:291)
>  at
>
com.hi.openname.dao.impl.HibernateKnowledgeItemDao.loadAllCommitted(HibernateKnowledgeItemDao.java:104)
>  at
>
com.hi.openname.dao.impl.HibernateKnowledgeItemDao.loadAllCommitted(HibernateKnowledgeItemDao.java:1)
>
> Regards
> Ankit

В списке pgsql-jdbc по дате отправления:

Предыдущее
От: Thomas Kellerer
Дата:
Сообщение: Re: OutOfMemory hibernate scroll with 2M records | Postgresql 8.4 DB
Следующее
От: MILTOS MILTIADOUS
Дата:
Сообщение: Re: Urgent. Help needed