Mantis Bugtracker
  

Viewing Issue Advanced Details Jump to Notes ] View Simple ] 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 Platform
Status closed   OS
Projection none   OS Version
ETA none Fixed in Version 3.1.6 Product Version 3.1.4
  Product Build
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
Steps To Reproduce
Additional Information
Attached Files

- Relationships

- Notes
(0002807)
ferg
03-03-08 15:24

server/16h{0,1}
 

- 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