-
Bug
-
Resolution: Done
-
Critical
-
5.9.10.Final
If the global transaction identifier is null for an Xid returned by Oracle when the XAResource.recover() method is called, it causes Narayana to log a NullPointerException.
This is caused by an XA datasource that is not compliant with JTA which requires a (non-null) byte array. 1
Ideally, a warning should be logged reporting any retrievable data found in the Xid along with the datasource for which the JDBC driver's XAResource.recover(int) returned the invalid/corrupt Xid object.
... WARN [com.arjuna.ats.jta] (Periodic Recovery) ARJUNA016009: Caught:: java.lang.NullPointerException at com.arjuna.ats.jta.xa.XidImple.copy(XidImple.java:190) at com.arjuna.ats.jta.xa.XidImple.<init>(XidImple.java:69) at com.arjuna.ats.internal.jta.recovery.arjunacore.RecoveryXids.contains(RecoveryXids.java:153) at com.arjuna.ats.internal.jta.recovery.arjunacore.RecoveryXids.updateIfEquivalentRM(RecoveryXids.java:203) at com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.refreshXidScansForEquivalentXAResourceImpl(XARecoveryModule.java:861) at com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.xaRecoveryFirstPass(XARecoveryModule.java:629) at com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.periodicWorkFirstPass(XARecoveryModule.java:189) at com.arjuna.ats.internal.arjuna.recovery.PeriodicRecovery.doWorkInternal(PeriodicRecovery.java:765) at com.arjuna.ats.internal.arjuna.recovery.PeriodicRecovery.run(PeriodicRecovery.java:377)
- is cloned by
-
JBEAP-20431 [GSS](7.3.z) JBTM-3383 - Improve ARJUNA016009: Caught:: java.lang.NullPointerException log message
- Closed
- is incorporated by
-
JBEAP-21388 Upgrade Narayana to 5.11.0.Final
- Closed
-
WFLY-13896 Upgrade Narayana to 5.11.0.Final
- Closed
- relates to
-
JBTM-3414 narayana-jta throws NPE during recovering when TRACE logger level is setting
- Closed