cayenne-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andrus Adamchik <>
Subject Re: postgres, idle in transaction
Date Tue, 24 Apr 2007 08:24:21 GMT
Hi Peter,

Thanks for reporting the details of the issue. I just ran a few  
select queries in debugger to confirm that even select queries commit  
the transaction before returning connection to the pool (they do).  
So, just to doublecheck:

* Do you have other code outside Cayenne using the same connection pool?
* Are you using external transactions (i.e. is "Container Managed  
Transactions" checkbox is checked)? (I don't think you've mentioned  
this earlier in this thread?)

But anyways, I think regardless of whether Cayenne leaks (something I  
still can't confirm) or not, I think we should log this as a bug in  
Cayenne connection pool, and ensure that all connections returned to  
the pool are rolled back by the PoolManager. Could you please log a  
bug report in Jira [1].

Also could you possibly switch the DataSource to DBCP [2] and see if  
that DBCP DataSource does the right thing? This may be an easier/ 
cleaner workaround than committing before queries.



On Apr 24, 2007, at 9:48 AM, Peter Schröder wrote:
> hi,
> we are still experiencing trouble with our postgres db and  
> connections hanging "idle in transaction".
> we debugged the postgres driver and found out that he starts a  
> transaction on every select-query but does not close it.
> cayenne does not seem to bother and re-uses these connections for  
> the next query, but other apps have trouble with the transactions,  
> cause they lock the used tables.
> funny thing is that we cannot reproduce this failure with our test- 
> environment wich has the exact same setup as our live-servers...
> currently we are doing a commitChanges() after every select-query  
> as a workaround. setting autoCommit to true would have the same  
> effect, but i dont like that idea...
> kind regards,
> peter

View raw message