PATCH NAME:
JBPAPP-825
PRODUCT NAME:
JBoss Enterprise Platform App Edition
VERSION:
4.3.0.GA_CP01
SHORT DESCRIPTION:
A NullPointerException is no longer thrown when Unified HA/Clustered invoker proxy is under heavy load.
LONG DESCRIPTION:
Under heavy load and sharing an EJB proxy between different threads, there's a chance of NullPointerException like the one below being reported, specially when using proxies configured with RoundRobin as load balance policy, such as SLSBs or EJB2 home proxies:
java.lang.NullPointerException
at org.jboss.invocation.unified.interfaces.UnifiedInvokerHAProxy.invoke(UnifiedInvokerHAProxy.java:186)
at org.jboss.invocation.InvokerInterceptor.invokeInvoker(InvokerInterceptor.java:365)
at org.jboss.invocation.MarshallingInvokerInterceptor.invoke(MarshallingInvokerInterceptor.java:63)
The exception was due to the assignment and initialisation of Remoting's client instance not being atomic. This lead to the client being used before its invoker had been set and hence stopping the invocation with the NullPointerException above.
MANUAL INSTALL INSTRUCTIONS:
Rename %JBOSS_HOME%/client/jbossha-client.jar to "jbossha-client.jar.replacedBy.
JBPAPP-825.jar.old"
Copy the new jbossha-client.jar to %JBOSS_HOME%/client/
Rename %JBOSS_HOME%/client/jbossall-client.jar to "jbossall-client.jar.replacedBy.
JBPAPP-825.jar.old"
Copy the new jbossall-client.jar to %JBOSS_HOME%/client/
Rename %JBOSS_HOME%/server/all/lib/jbossha.jar to "jbossha.jar.replacedBy.
JBPAPP-825.jar.old"
Copy the new jbossha.jar to %JBOSS_HOME%/server/all/lib/
Rename %JBOSS_HOME%/server/production/lib/jbossha.jar to "jbossha.jar.replacedBy.
JBPAPP-825.jar.old"
Copy the new jbossha.jar to %JBOSS_HOME%/server/production/lib/
COMPATIBILITY:
N/A
DEPENDENCIES:
N/A
SUPERSEDES:
N/A
SUPERSEDED BY:
N/A
CREATOR:
Galder Zamarreño
DATE:
2008/05/13