Mantis Bugtracker

Viewing Issue Simple Details Jump to Notes ] View Advanced ] Issue History ] Print ]
ID Category Severity Reproducibility Date Submitted Last Update
0002454 [Resin] major always 02-21-08 17:01 03-03-08 15:24
Reporter ddalessa View Status public  
Assigned To ferg
Priority normal Resolution fixed  
Status closed   Product Version 3.1.4
Summary 0002454: error thrown in TransactionImpl.callBeforeCompletion results in leaking connections
Description An error thrown by a synchronization in callBeforeCompletion causes a RollBackException to be thrown without a rollback being issued to the resource.

So for example if we start a transaction and execute some statements that will cause an error on commit, eg a constraint violation on the underlying database, the afterCompletion on the Synchronization is never called and the resource is not rolled back.

I am using postgres 8.3 and this results in dangling connections left in "<IDLE> in transaction" which can lock resources or StaleStateExceptions. Not sure if this is an issue with other databases.

I believe this can be fixed by modifying TransactionContext.commit
Additional Information
Attached Files

- Relationships

- Notes
03-03-08 15:24


- Issue History
Date Modified Username Field Change
02-21-08 17:01 ddalessa New Issue
03-03-08 15:24 ferg Note Added: 0002807
03-03-08 15:24 ferg Assigned To  => ferg
03-03-08 15:24 ferg Status new => closed
03-03-08 15:24 ferg Resolution open => fixed
03-03-08 15:24 ferg Fixed in Version  => 3.1.6

Mantis 1.0.0rc3[^]
Copyright © 2000 - 2005 Mantis Group
29 total queries executed.
26 unique queries executed.
Powered by Mantis Bugtracker