Re: PGStream.ReceiveTupleV3 and Out of Memory

From: Dave Cramer <pg(at)fastcrypt(dot)com>
To: digifork <digifork(at)gmail(dot)com>
Cc: pgsql-jdbc(at)postgresql(dot)org
Subject: Re: PGStream.ReceiveTupleV3 and Out of Memory
Date: 2011-04-27 18:23:02
Message-ID: BANLkTi=Df1CR72Bx0L8CBZWBcSfwpmnc-g@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

Probably because it is retrieving the entire result set at once.

You may want to set fetch size to something other than 0 to get the
driver to use a cursor (note you have to set autocommit to false)

Dave Cramer

dave.cramer(at)credativ(dot)ca
http://www.credativ.ca

On Wed, Apr 27, 2011 at 1:59 PM, digifork <digifork(at)gmail(dot)com> wrote:
> Hello All!
>
> I have a question that I hope someone can help me with. I have a very
> large query against a PostgreSQL 8.2 database using an iBatis 2.3.4
> RowHandler, postgresql-8.2 JDBC4 driver, and a 32-bit Java 1.6 JVM.
> The reason why we use the RowHandler is because we know this is a big
> query and want to handle it a row at a time.
>
> When I start the query, it takes some time to return the first row.
> When the query is about to return the first row, there is a giant
> spike in heap memory use and the the JVM runs out of memory. I was
> able to snapshot the heap before it crashed. The culprit seems to be
> this call:
>
> 97.4% - 632 MB - 17,776,474 alloc. org.postgresql.core.PGStream.ReceiveTupleV3
>
> I have analyzed the database and we have no rows that exceed 2K in
> size; so I know the problem is not related to returning a giant single
> row.
>
> Does anyone have any ideas why ReceiveTupleV3 is returning so much data?
>
> Thank you!
>
> -Dan
>
> --
> Sent via pgsql-jdbc mailing list (pgsql-jdbc(at)postgresql(dot)org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-jdbc
>

In response to

Responses

Browse pgsql-jdbc by date

  From Date Subject
Next Message Brady S Edwards 2011-04-27 19:35:53 JDBC parameter binding not working for PL/PGSQL block JDBC3 Version 9.0-801
Previous Message Kevin Grittner 2011-04-27 18:20:03 Re: PGStream.ReceiveTupleV3 and Out of Memory