This is the second time, in the last three days, we are seeing this exception happening in our Portal application. We have used Liferay Portalinside jboss-4.0.2. The application runs fine, and then all of a sudden we are seeing this exception. After the happening of this exception, the user is unable to use the local-tx- datasource. On restarting the service, we are good. We could not reproduce, the scenario in development and is unable to be reproduced on request.

Liferay has EJB?s (all container managed) -> calling the authentication Pipeline -> calls custom singlesignon to validates the user -> control back to Liferay to validate user in Liferay DB.

In normal scenario a login was giving a warning message

2005-10-12 15:54:32,029 WARN [org.jboss.resource.connectionmanager.TxConnectionManager] Prepare called on a local tx. Use of local transactions on a jta transaction with more than one branch may result in inconsistent data in some cases of failure.

This is the error message seen rarely and is causing the application to be restarted.(Not sure, if relates to this issue, but the before this error is happening the log shows up JTA errors on other portlets.)

2005-10-09 21:24:30,073 INFO [org.jboss.resource.connectionmanager.TxConnectionManager] Could not enlist in transaction on entering meta-aware object!

javax.transaction.SystemException: Could not get XAResource from ManagedConnection!javax.transaction.RollbackException: Already marked for rollback TransactionImpl:XidImpl[FormatId=257, GlobalId=PAR1SIPORTAL/11954, BranchQual=, localId=11954]

at org.jboss.resource.connectionmanager.TxConnectionManager$TxConnectionEventListener.enlist(TxConnectionManager.java:441)

at org.jboss.resource.connectionmanager.TxConnectionManager.managedConnectionReconnected(TxConnectionManager.java:322)

at org.jboss.resource.connectionmanager.BaseConnectionManager2.reconnectManagedConnection(BaseConnectionManager2.java:583)

at org.jboss.resource.connectionmanager.BaseConnectionManager2.allocateConnection(BaseConnectionManager2.java:450)

at org.jboss.resource.connectionmanager.BaseConnectionManager2$ConnectionManagerProxy.allocateConnection(BaseConnectionManager2.java:874)

at org.jboss.resource.adapter.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:103)

at com.adp.ebs.dao.ConnectionPool.getConnection(ConnectionPool.java:78)

at com.adp.ebs.admin.services.user.UserMgmtDAC.getConnection(UserMgmtDAC.java:726)

at com.adp.ebs.admin.services.user.UserMgmtDAC.getUserSeq(UserMgmtDAC.java:424)

at com.adp.ebs.admin.services.user.UserMgmtServiceImpl.getUserSeq(UserMgmtServiceImpl.java:195)

at com.adp.sbs.portal.auth.SSOAuth.ssoAuthenticate(SSOAuth.java:194)

at com.adp.sbs.portal.auth.SSOAuth.authenticateByUserId(SSOAuth.java:77)

at com.liferay.portal.auth.AuthPipeline._authenticate(AuthPipeline.java:104)

at com.liferay.portal.auth.AuthPipeline.authenticateByUserId(AuthPipeline.java:49)

at com.liferay.portal.ejb.UserManagerImpl._authenticate(UserManagerImpl.java:874)

at com.liferay.portal.ejb.UserManagerImpl.authenticateByUserId(UserManagerImpl.java:132)

I tested by making all the datasources XA. In this situation the application fails to boot up, with this error2005-10-12 15:43:27,085 ERROR [org.jboss.ejb.plugins.LogInterceptor] TransactionRolledbackException in method: public abstract com.liferay.portal.model.Layout com.liferay.portal.ejb.LayoutManager.getLayout(com.liferay.portal.ejb.LayoutPK) throws com.liferay.portal.PortalException,com.liferay.portal.SystemException,java.rmi.RemoteException, causedBy: