APAR status
Closed as program error.
Error description
The WebSphere source code in the XARecoveryData logic catches
one exception when a XARecoveryFailure occurs trying to recover
units of work (transactions) that are in the
WebSphere/AppServer/tranlog/serverName directory, but then it
throws a generic exception back to the caller of
com.ibm.ejs.jts.jta.recovery.XARecoveryData.replay, which
results in the nested exception (the root cause exception) being
described as a java.lang.Exception rather than being the real
exception that caused the failure in the first place.
.
The original exception in the log is
WTRN0008W: Object cannot be deserialized. The exception stack
trace follows: java.lang.reflect.InvocationTargetException:
java.io.InvalidClassException:
com.ibm.ejs.j2c.J2CXAResourceInfo; Local class not compatible:
stream classdesc serialVersionUID=-3960254616107858224 local
class serialVersionUID=-175344259732450552
.
This results in the following message being logged later in
SystemOut.log
[11/6/03 12:41:24:031 CST] 3a6e5c WsServer E WSVR0003E:
Server server1 failed to start
com.ibm.ws.exception.RuntimeError: Transaction Service recovery
failure
at
com.ibm.ws.runtime.component.TxServiceImpl.start(TxServiceImpl.j
ava:214)
at
com.ibm.ws.runtime.component.ContainerImpl.startComponents(Conta
inerImpl.java:543)
at
com.ibm.ws.runtime.component.ContainerImpl.start(ContainerImpl.j
ava:418)
at
com.ibm.ws.runtime.component.ApplicationServerImpl.start(Applica
tionServerImpl.java:117)
at
com.ibm.ws.runtime.component.ContainerImpl.startComponents(Conta
inerImpl.java:543)
at
com.ibm.ws.runtime.component.ContainerImpl.start(ContainerImpl.j
ava:418)
at
com.ibm.ws.runtime.component.ServerImpl.start(ServerImpl.java:18
3)
at com.ibm.ws.runtime.WsServer.start(WsServer.java:128)
at com.ibm.ws.runtime.WsServer.main(WsServer.java:225)
at java.lang.reflect.Method.invoke(Native Method)
at com.ibm.ws.bootstrap.WSLauncher.main(WSLauncher.java:94)
---- Begin backtrace for nested exception
java.lang.Exception
at
com.ibm.ejs.jts.jta.recovery.XARecoveryData.replay(XARecoveryDat
a.java:467)
at
com.ibm.ejs.jts.jta.recovery.XARecoveryManager.init(XARecoveryMa
nager.java:259)
.
This java.lang.Exception really should be the
InvokationTargetException that is logged previously.
Local fix
One problem that causes these exceptions is that the format of
the XARecoveryWrapper was changed in WAS 5.0.2. One way to
prevent this problem is to remove all the files in the
WebSphere/AppServer/tranlog/serverName directory.
Problem summary
****************************************************************
* USERS AFFECTED: All WebSphere Application Server users. *
****************************************************************
* PROBLEM DESCRIPTION: When WTRN0008W is logged, the nested *
* exception may be a generic exception, *
* hiding the original exception raised. *
****************************************************************
* RECOMMENDATION: *
****************************************************************
During recovery, the transaction code recovers certain
classes from the transaction log files. In the course of
this objects are deserialized, and certain exceptions were
explicitly being caught - and being reported correctly.
When another exception was rasied, a generic exception was
being thrown, which resulted in a java.lang.Exception
being reported. This made problem determination more
difficult.
Problem conclusion
XARecoveryManager and XARecoveryData will be updated to
explicitly handle more exceptions, resulting in a better
reporting of the errors, and the handling of other generic
exceptions will be improved.
This APAR is not applicable to Version 5.1 of WebSphere
Application Server.
Temporary fix
Fix can be supplied by IBM
Comments
APAR information |
APAR number |
PQ80962 |
Reported component name |
WAS NETWRK DEPL |
Reported component ID |
5630A3601 |
Reported release |
00S |
Status |
CLOSED PER |
PE |
NoPE |
HIPER |
NoHIPER |
Special Attention |
NoSpecatt |
Submitted date |
2003-11-14 |
Closed date |
2004-01-29 |
Last modified date |
2004-11-16 |
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Modules/Macros
Publications Referenced
Applicable component levels |
R003 PSY |
UP |
R00A PSY |
UP |
R00H PSY |
UP |
R00I PSY |
UP |
R00P PSY |
UP |
R00S PSY |
UP |
R00W PSY |
UP |
|