[jboss-jira] [JBoss JIRA] Commented: (JBAS-4481) Transaction timeouts leave garbage Status.ROLLEDBACK UserTransaction object bound to the thread

Michael JOnes (JIRA) jira-events at lists.jboss.org
Thu Jun 14 20:40:11 EDT 2007


    [ http://jira.jboss.com/jira/browse/JBAS-4481?page=comments#action_12365466 ] 
            
Michael JOnes commented on JBAS-4481:
-------------------------------------

BTW.  About 5 minutes ago.  I got this exception and a hanging JBoss on a production site.  Here is the last entries in the log: -

12:03:03,012 WARN  [ValidatorResources] Form 'ProductForm' not found for locale 'en_NZ'
12:07:41,977 WARN  [arjLoggerI18N] [com.arjuna.ats.arjuna.coordinator.BasicAction_58] - Abort of action id -3f57fdff:12dd:466f4b3f:94029 invoked while multiple threads active within it.
12:07:41,977 WARN  [arjLoggerI18N] [com.arjuna.ats.arjuna.coordinator.CheckedAction_2] - CheckedAction::check - atomic action -3f57fdff:12dd:466f4b3f:94029 aborting with 1 threads active!

It did not work until I restarted it.  I don't know how to replicate it as it is the first time I have seen it.  It may have occured at the same time as a user triggered a call to the loadCache() method of this EJB: -

@Stateless
@TransactionManagement (TransactionManagementType.CONTAINER)
public class EStoreServerCacheManagerBean implements EStoreServerCacheManager, EStoreServerCacheManagerLocal {
	/**
	 * Called when the cache needs to be refreshed from the database
	 */
	@TransactionTimeout(value=600) //10 Minutes to load all the summaries
	public void loadCache()  {
		logger.debug("loadCache called");
		Store[] stores = storeManager.getStores();
		for(Store store : stores) {			
			EStoreObjectSpace.loadCache(store);	
		}
                      }
}

EStoreObjectSpace.loadCache() is defined as: -

public static synchronized EStoreCache loadCache(Store store) { }

Could it be that this method is synchronized ?

Does any one have any recommendations for debugging this?

> Transaction timeouts leave garbage Status.ROLLEDBACK UserTransaction object bound to the thread
> -----------------------------------------------------------------------------------------------
>
>                 Key: JBAS-4481
>                 URL: http://jira.jboss.com/jira/browse/JBAS-4481
>             Project: JBoss Application Server
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>          Components: Transaction Manager
>    Affects Versions: JBossAS-4.2.0.GA
>            Reporter: Gavin King
>         Assigned To: Gavin King
>            Priority: Blocker
>             Fix For: JBossAS-4.2.1.CR1
>
>
> If a transaction timeout occurs, the UserTransaction object does not get cleaned up from the thread, even after the request ends and the thread returns to the pool. Future requests will not be able to begin() a transaction, since the STATUS_ROLLEDBACK UserTransaction throws this exception:
> Caused by: javax.transaction.NotSupportedException
> 	at com.arjuna.ats.internal.jta.transaction.arjunacore.BaseTransaction.begin(BaseTransaction.java:79)
> 	at com.arjuna.ats.jbossatx.BaseTransactionManagerDelegate.begin(BaseTransactionManagerDelegate.java:77)
> 	at org.jboss.tm.usertx.client.ServerVMClientUserTransaction.begin(ServerVMClientUserTransaction.java:124)
> 	at org.jboss.seam.transaction.UTTransaction.begin(UTTransaction.java:29)
> This means that any transaction timeout that occurs will leave the application server in a permanently broken state and require a server restart. Hence 4.2.0.GA is currently unusable in production!
> This needs to be fixed in an immediate patch release.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the jboss-jira mailing list