Wednesday, December 9, 2009

How to read a transaction error message

Don't quote me on this, this is only my interpretation.

We start with a general message, with times (important in case of timeout, to understand where the timeout originates)

<[ACTIVE] ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> <1260325532180>
<BEA-010026>
<Exception occurred during commit of transaction Xid=BEA1-53B00171B6B92DDEE6DD(585181039),
Status=Rolledback.
[Reason=weblogic.transaction.internal.AppSetRollbackOnlyException],
numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds since begin=60,seconds left=0,

then a section with all the XA resources enrolled in the XA TX:

XAServerResourceInfo[WLStore_PEPPODomain_PEPPOJMSStore_1]=
   (ServerResourceInfo[WLStore_PEPPODomain_PEPPOJMSStore_1]=
   (state=rolledback,assigned=PEPPOappli1),
   xar=WLStore_PEPPODomain_PEPPOJMSStore_1786968327,
   re-Registered = false),


XAServerResourceInfo[cgDataSource]=
    (ServerResourceInfo[cgDataSource]=(state=rolledback,assigned=PEPPOappli1),
       xar=cgDataSource,
       re-Registered = false),


XAServerResourceInfo[jdbc/INFOCOMejbJTSToplink]=(ServerResourceInfo[jdbc/INFOCOMejbJTSToplink]=(state=rolledback,assigned=LAPPAappli1),
  xar=null,
re-Registered = false),

then a list of the domains involved in the TX, in this case 2 Domains are involved:

SCInfo[PEPPODomain+PEPPOappli1]=(state=rolledback),
SCInfo[LAPPADomain+LAPPAappli1]=(state=rolledback),

properties=({}),

the CoordinatorURL tells us on which domain the TX was originated:

local properties=({class com.bea.wli.bpm.runtime.JpdContainer$TxnListener[10.1.5.123-52d2aa43.1256f924548.-7855]postNotificationCtrl:10.1.5.122-1bdb3347.1256f922aaa.-6f7c=com.bea.wli.bpm.runtime.JpdContainer$TxnListener@37e9159d, weblogic.jdbc.jta.cgDataSource=[ No XAConnection is attached to this TxInfo ], modifiedListeners=[weblogic.ejb.container.internal.TxManager$TxListener@22e14e03]}),OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor
=(CoordinatorURL=PEPPOappli1+frparmat01.acme.dns:8122+PEPPODomain+t3+,

XAResources is a list of all the transactional resources registered in the TX Coordinator:

XAResources={WLStore_PEPPODomain_PEPPOJMSStore_1, WLStore_PEPPODomain_pfProliferationJMSStore_auto_1, cgDataSource, OatmialResource, portalDataSourceAlwaysXA, eis/jms/WLSConnectionFactoryJNDIXA, PEPPO_LAPPAejbJTSToplink, PEPPO_UTILejbJTSToplink
, PEPPO_PEPPOejbJTSToplink, WLStore_PEPPODomain_cgJMSStore_auto_1, PEPPO_CCejbJTSToplink, WLStore_PEPPODomain__WLS_PEPPOappli1, WLStore_PEPPODomain_cgJMSStore_auto_3, bpmArchDataSource, portalDataSource, WLStore_PEPPODomain_WseeFileStore_auto_1, PEPPO_ACTejbJTSToplink, PEPPO_CISejbJTSToplink},NonXAResources={})],
CoordinatorURL=PEPPOappli1+frparmat01.acme.dns:8122+PEPPODomain+t3+):

finally, the stacktrace:

weblogic.transaction.RollbackException: Unknown reason
at weblogic.transaction.internal.TransactionImpl.throwRollbackException(TransactionImpl.java:1809)
at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:331)
at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:227)
at weblogic.ejb.container.internal.MDListener.execute(MDListener.java:463)
at weblogic.ejb.container.internal.MDListener.transactionalOnMessage(MDListener.java:335)
at weblogic.ejb.container.internal.MDListener.onMessage(MDListener.java:291)
at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:4072)
at weblogic.jms.client.JMSSession.execute(JMSSession.java:3962)
at weblogic.jms.client.JMSSession$UseForRunnable.run(JMSSession.java:4490)
at weblogic.work.ServerWorkManagerImpl$WorkAdapterImpl.run(ServerWorkManagerImpl.java:518)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:181)

No comments: