APAR status
Closed as program error.
Error description
Entity bean are not being discarded, and is simply returned to
.
If the DB Server restarts, there is a significant performance
degradation after the DB2 restart.
The observed performance degradation may be 25-30%.
.
The problem that is occurring is that this message is logged
■3/2/05 13:22:00:372 CST 00000062 SystemOut O
javax.ejb.TransactionRolledbackLocalException: ; nested
exception is: InvalidBeanOStateException(current = ACTIVATING,
expected = OptA | CACHED_SHARED | HYDRATING CACHED_EXCLUSIVE |
CREATING)
InvalidBeanOStateException(current = ACTIVATING, expected = OptA
| CACHED_SHARED | HYDRATING CACHED_EXCLUSIVE | CREATING)
at
com.ibm.ejs.container.EntityBeanO.enlist(EntityBeanO.java(Compil
ed Code))
at
com.ibm.ejs.container.activator.ReadOnlyEntityActivationStrategy
.atActivate(ReadOnlyEntityActivationStrategy.java(Compiled
Code))
at
com.ibm.ejs.container.activator.Activator.activateBean(Activator
.java(Inlined Compiled Code))
at
com.ibm.ejs.container.EJSContainer.preInvokeActivate(EJSContaine
r.java(Compiled Code))
at
com.ibm.ejs.container.EJSContainer.preInvoke(EJSContainer.java(C
ompiled Code))
at
org.spec.jappserver.orders.itement.ejb.EJSLocalCMPItemEnt_eb6213
fc.getId(Unknown Source)
at
org.spec.jappserver.orders.itemBrowserSes.ejb.ItemBrowserSesEJB.
initItemsList(Unknown Source)
at
org.spec.jappserver.orders.itemBrowserSes.ejb.ItemBrowserSesEJB.
getItems(Unknown Source)
at
org.spec.jappserver.orders.itemBrowserSes.ejb.EJSLocalStatefulIt
emBrowserSes_7b595281.getItems(Unknown Source)
.
This problem only occurs when EJBs are being persisted to the
DB Server that is stopped and restarted.
.
These symptoms may occur as a result of this problem.
1. Both the OptA and ReadOnlyEntityActivationStrategies may
occur in atActivate methods leading to RemoteExceptions.
....
So, if a
RuntimeException (like EJBException) is thrown from ejbLoad,
then it is not
caught....and so the finally block does not execute the
appropriate
cleanup.... which leaves the bean in a bad state and pinned in
the EJB Cache.
.
2. As a result of this problem, because the database is reset,
a StaleConnectionException may be thrown by ejbLoad, during
atActivate when the strategy is readOnly and the exception is
not handled, so the bean is left in the cache, pinned and
on the ReadOnly strategy... and not handled... so the bean is
left in the
cache, pinned, and in the ACTIVATING state.
Once this occurs.... every attempt to access the bean afterwards
will result
in an InvalidBeanOStateException, because of the bad state...
and cleanup
will fail, because the bean is pinned in the cache.
The following exception is also resolved by the code fix
provided in this APAR:
com.ibm.ejs.container.BeanOActivationFailureException
at
com.ibm.ejs.container.EntityBeanO.activate(EntityBeanO.java(Comp
iled Code))
at
com.ibm.ejs.container.activator.OptAEntityActivationStrategy.doA
ctivation(OptAEntityActivationStrategy.java(Compiled Code))
at
com.ibm.ejs.container.activator.OptAEntityActivationStrategy.atA
ctivate(OptAEntityActivationStrategy.java(Compiled Code))
at
com.ibm.ejs.container.activator.Activator.activateBean(Activator
.java(Inlined Compiled Code))
at
com.ibm.ejs.container.EJSContainer.preInvoke_internal(EJSContain
er.java(Compiled Code))
at
com.ibm.ejs.container.EJSContainer.preInvoke(EJSContainer.java(I
nlined Compiled Code))
Local fix
Restart the application server.
Problem summary
****************************************************************
* USERS AFFECTED: WebSphere Application Server users of *
* Entity Enterprise Java Beans (EJBs) *
* configured for Option A or ReadOnly *
* Caching. *
****************************************************************
* PROBLEM DESCRIPTION: Entity EJBs may be left in invalid *
* state in EJB Cache after DataBase *
* failure during load. *
****************************************************************
* RECOMMENDATION: *
****************************************************************
For Entity EJBs configured for Option A or ReadOnly caching,
the Entity beans may be left in the EJB Cache in an 'invalid'
state after a database exception occurs when loading the
Entity bean. Subsequent attempts to access the Entity bean
will result in the following exception:
InvalidBeanOStateException(current = ACTIVATING, expected =
OptA | CACHED_SHARED | HYDRATING CACHED_EXCLUSIVE | CREATING)
Problem conclusion
The EJB Container has been changed to properly handle database
(or other) failures when loading Entity EJBs with Option A
or ReadOnly caching.
This fix is available in the follwoing service packs:
5.0.2.11, 5.1.1.4, and 6.0.1.2.
Please refer to the Recommended Updates page for delivery
information:
http://www.ibm.com/support/docview.wss?rs=180&uid=swg27004980
Temporary fix Comments
APAR information |
APAR number |
PK02307 |
Reported component name |
WAS BASE 5.0 |
Reported component ID |
5630A3600 |
Reported release |
10W |
Status |
CLOSED PER |
PE |
NoPE |
HIPER |
NoHIPER |
Special Attention |
NoSpecatt |
Submitted date |
2005-03-10 |
Closed date |
2005-04-25 |
Last modified date |
2006-01-03 |
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Modules/Macros
Publications Referenced
|
Fix information |
Fixed component name |
WAS BASE 5.0 |
Fixed component ID |
5630A3600 |
Applicable component levels |
R003 PSY |
UP |
R00A PSY |
UP |
R00H PSY |
UP |
R00I PSY |
UP |
R00P PSY |
UP |
R00S PSY |
UP |
R00W PSY |
UP |
R103 PSY |
UP |
R10A PSY |
UP |
R10H PSY |
UP |
R10I PSY |
UP |
R10P PSY |
UP |
R10S PSY |
UP |
R10W PSY |
UP |
|