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

Kevin Sutter resolved OPENJPA-343.
----------------------------------

       Resolution: Fixed
    Fix Version/s: 1.1.0

Resolved in trunk (1.1.0) via svn revision #571523.

> Do not call setRollbackOnly on inactive Transactions
> ----------------------------------------------------
>
>                 Key: OPENJPA-343
>                 URL: https://issues.apache.org/jira/browse/OPENJPA-343
>             Project: OpenJPA
>          Issue Type: Bug
>          Components: kernel
>    Affects Versions: 0.9.7, 1.0.0
>            Reporter: Kevin Sutter
>            Assignee: Kevin Sutter
>             Fix For: 1.1.0
>
>
> While in the middle of processing an afterCompletion invocation in 
> BrokerImpl, an unexpected RuntimeException (IndexOutOfBoundsException) 
> occurred within some underlying WebSphere code.  While we (OpenJPA) were 
> attempting to clean up after that exception, we attempted to call 
> setRollbackOnly on the current transaction.  But, since we were in the 
> process of completing the current transaction, it is invalid to be calling 
> setRollbackOnly and we ended up getting an IllegalStateException from the 
> WebSphere Transaction Manager.  Due this second exception, we ended up losing 
> track of the original exception and this became a difficult problem to 
> diagnose.
> This issue will be used to correct a couple of issues (at least):
> 1)  We should ensure that the transaction is active before calling
> setRollbackOnly().  When an exception happens during afterCompletion 
> processing, the Transaction can no longer accept setRollbackOnly 
> invocations.
> 2)  When an unexpected exception happens like this, we should log the
> exception before attempting to process the exception.  In this particular
> case, we lost the original exception when we ran into the 
> IllegalStateException
> from the Transaction service.  This forced us to re-run the scenario just to
> get a trace of the exception.
> 3)  Or, if we don't want to log the exception immediately, we need to 
> determine why we lost the first exception in the first place and ensure that 
> doesn't happen again.
> Kevin

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

Reply via email to