[jboss-as7-dev] Better handling of transaction leaks?
Remy Maucherat
rmaucher at redhat.com
Tue Oct 18 13:31:04 EDT 2011
On Tue, 2011-10-18 at 21:28 +0530, Jaikiran Pai wrote:
> While looking into a test failure I noticed that currently user
> applications can end up leaking transactions (associated with the
> invocation thread):
>
> Servlet {
>
> doGet() {
> UserTransaction.begin();
> doSomeOp();
> fail();
> // no tx rollback/commit
> }
> }
>
> Subsequent transactions on that thread can lead to failures and other
> sorts of issues. Looking back at previous versions of AS, we had a valve
> http://anonsvn.jboss.org/repos/jbossas/trunk/tomcat/src/main/java/org/jboss/web/tomcat/service/jca/CachedConnectionValve.java
> which used to cleanup (and log an error) about the leaking transactions.
>
> Do we want something similar for AS7? Also, are there other "entry
> points" (like servlets for web requests) where such leaks can happen and
> needs to be taken care off?
JPA has automatic tracking of this sort of things using a valve (and
added only when needed).
For the insignificant amount of people that will do manual transactions
and can't be bothered to code properly, everyone gets to pay the cost of
transaction tracking for all requests to the web container, so I am
against this feature.
I remember being flamed pretty badly for daring disabling this "nice"
valve by default in AS 6 :) Hopefully it will go better this time.
--
Remy Maucherat <rmaucher at redhat.com>
Red Hat Inc
More information about the jboss-as7-dev
mailing list