ibatis-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Clinton Begin (JIRA)" <ibatis-...@incubator.apache.org>
Subject [jira] Closed: (IBATIS-462) Nested Transaction or Without commitTransaction
Date Tue, 18 Mar 2008 14:39:24 GMT

     [ https://issues.apache.org/jira/browse/IBATIS-462?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel

Clinton Begin closed IBATIS-462.

    Resolution: Won't Fix
      Assignee: Clinton Begin

we do as much as is possible to ensure that your connections are closed etc.  You are solely
responsible to ensure you're using the correct start/commit/end pattern.  commit can't close
the connection, as many people commit more than once in a single transaction scope.

> Nested Transaction or Without commitTransaction
> -----------------------------------------------
>                 Key: IBATIS-462
>                 URL: https://issues.apache.org/jira/browse/IBATIS-462
>             Project: iBatis for Java
>          Issue Type: Bug
>    Affects Versions: 2.0.8
>         Environment: WebSphere,RAD,iBatis 2.0.7
>            Reporter: Chirag
>            Assignee: Clinton Begin
>            Priority: Blocker
> iBatis documentation says:
> Note! Transactions cannot be nested. Calling .startTransaction() from the same thread
more than once,
> before calling commit() or rollback(), will cause an exception to be thrown. In other
words, each thread can
> have -at most- one transaction open, per SqlMapClient instance.
> Note! SqlMapClient transactions use Java's ThreadLocal store for storing transactional
objects. This means
> that each thread that calls startTransaction() will get a unique Connection object for
their transaction. The
> only way to return a connection to the DataSource (or close the connection) is to call
> or endTransaction(). Not doing so could cause your pool to run out of connections and
lock up.
> Issue:
> Our requests were failing intermittently because it was going to different schema and
returning null resultMap. We found this issue when lot of people started testing.
> We fixed by making following changes. 
> 1)	We had clientDAOManager.commitTransaction() and there was no clientDAOManager.endTransaction()
after that. We did not need commit, so we removed that and added clientDAOManager.endTransaction()
> 2)	We removed nested transaction.
> Looks like both of the issues should have been handled by iBatis. We did not get exception
for nestedTransaction. 
> commitTransaction should have returned connection to the pool gracefully even if endTransaction
was not called.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message