Lightweight transaction leaks on exception from FileResourceManager.getResource -------------------------------------------------------------------------------
Key: TRANSACTION-15 URL: https://issues.apache.org/jira/browse/TRANSACTION-15 Project: Commons Transaction Issue Type: Bug Affects Versions: 1.1, 1.2 Environment: Current trunk of rev 542554 Reporter: Antranig Basman FileResourceManager getResource(String) method will leak in the case an exception occurs during execution, in the most obvious case where the resource does not exist. This is because the method does not do proper cleanup of the lightweight transaction (which it allocated itself). Lightweight transactions in general are pretty sketchy in commons-transaction which I think is a fact that should be advertised a bit more widely - I was a little disappointed to see that the 1.2 release went ahead last month without any more attention to the issues that I raised last May - the thread begins 22nd May 2006 at http://mail-archives.apache.org/mod_mbox/jakarta-commons-user/200605.mbox/[EMAIL PROTECTED] (title: Memory leaks in GenericLockManager, FileResourceManager) The resolution to the leak I posted there was demonstrated not completely sound, but I think in the absence of any other approach it would be better than nothing - better that a heavyweight transaction immediately retried with the same ID will very rarely fail than that every lightweight transaction will leak :P In any case, this issue is more serious in that it is not just a leak, but will permanently lock a part of the resource tree for the lifetime of the ResourceManager. I have attached diffs for a patch and a test case for this issue below. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]