Skip site navigation (1) Skip section navigation (2)

Modifying the concurrent transaction limit

From: "Jason L(dot) Buberel" <jason(at)buberel(dot)org>
To: pgsql-jdbc(at)postgresql(dot)org
Subject: Modifying the concurrent transaction limit
Date: 2007-03-06 16:12:13
Message-ID: 45ED92DD.3080307@buberel.org (view raw or flat)
Thread:
Lists: pgsql-jdbc
I've been running into a problem with a multithreaded, long-running 
processing application. The problem occurs when the number of open 
transactions reaches the magic number of '50'. When this occurs, all 
further database access blocks and the application has to be restarted.

I am using Hibernate with the simple JDBC Transaction Factory:

       <property name="transaction.factory_class">
            org.hibernate.transaction.JDBCTransactionFactory</property>

I keep track of the number of open concurrent transactions using a 
static method on my hibernate session factory, and sure enough, any time 
I see a 'stuck' application and check the logs, I will see:

2007.03.06 09:10:05 DEBUG SessionOwnerImpl 
broker_zip_market_heat_quartiles subreport filler - Current trxn counter: 50

What I would like to know is:

A. Is there really a built-in limit to the number of concurrent 
transactions?
B. Can this value be configured?

I have done what I can to try and ensure that these transactions are 
cleaned up when processing completes, but sometimes garbage collection 
does not occur soon enough and I accumulate 50 open transactions, 
wedging the process. If there is something else that I should be doing 
to avoid this type of problem, please suggest!

Thanks,
Jason

PS I am using v8.1 of the driver with Postgres 8.1.x.

Responses

pgsql-jdbc by date

Next:From: Heikki LinnakangasDate: 2007-03-06 16:28:43
Subject: Re: Modifying the concurrent transaction limit
Previous:From: Dave CramerDate: 2007-03-05 23:48:17
Subject: Re: Fetching generated keys

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group