PQ68069: ARRAYINDEXOUTOFBOUNDSEXCEPTION OCCURS WHEN USING MULTIPLE THREADS FOR A STANDALONE EJB CLIENT.

 A fix is available

4.0.5: WebSphere Application Server Version 4.0 Fix Pack 5 (Version 4.0.5)



APAR status
Closed as program error.

Error description
.
When running a standalone EJB client, running multiple threads
(each with its own ORB), during naming lookup,
ArrayIndexOutOfBoundsExceptions occur from the select policy.
Local fix Problem summary
****************************************************************
* USERS AFFECTED: WebSphere Application Server users in a      *
*                 clustered environment.                       *
****************************************************************
* PROBLEM DESCRIPTION: An ArrayIndexOutOfBoundsException is    *
*                      thrown from a selection policy          *
*                      (RoundRobinPreferLocalProxySelector     *
*                      or RoundRobinProxySelector) under       *
*                      very heavy workloads.                   *
****************************************************************
* RECOMMENDATION:                                              *
****************************************************************
The client program receives an ArrayIndexOutOfBoundsException
when the servers are under very heavy workload.  This has
been known to occur most frequently, but not necessarily
only during a javax.naming.InitialContext.lookup method call.
The reason that this happens is that in the selection
policies mentioned, there is a code block that is not
synchronized for performance reasons.  The policy
has to be under extremely high workloads, and even then,
the window for this error is extremely small.

The stacktrace will look something like this:

2002-08-30 11:39:24,073 ERROR (TestThread.java:78):
 TestThread 0 : EJB access setup failed:
java.lang.ArrayIndexOutOfBoundsException
 at com.ibm.ws.wlm.client.proxy.RoundRobinProxySelector
.getNextClone(RoundRobinProxySelector.java:75)
 at com.ibm.ws.wlm.client.proxy.RoundRobinPreferLocalPro
xySelector.getNextClone(RoundRobinPreferLocalProxySelector.java:
82)
 at com.ibm.ws.wlm.client.proxy.MasterProxy.getNextClone
(MasterProxy.java:165)
 at com.ibm.ws.wlm.client.proxy.ProxyManager.getTarget
(ProxyManager.java:103)
 at com.ibm.ws.wlm.client.WLMClient.getNextTarget
(WLMClient.java:205)
 at com.ibm.CORBA.iiop.ClientDelegate.createRequest
(ClientDelegate.java:1037)
 at com.ibm.CORBA.iiop.ClientDelegate.request
(ClientDelegate.java:1820)
 at org.omg.CORBA.portable.ObjectImpl._request
(ObjectImpl.java:433)
 at com.ibm.WsnOptimizedNaming._NamingContextStub.
resolve_complete_info(_NamingContextStub.java:258)
 at com.ibm.ejs.ns.jndi.CNContextImpl.cosResolve
(CNContextImpl.java:2983)
 at com.ibm.ejs.ns.jndi.CNContextImpl.doLookup
(CNContextImpl.java:1435)
 at com.ibm.ejs.ns.jndi.CNContextImpl.lookup
(CNContextImpl.java:1121)
 at com.ibm.ws.naming.util.WsnInitCtx.lookup
(WsnInitCtx.java:128)
 at javax.naming.InitialContext.lookup
(InitialContext.java:350)
 ...
 ...
Problem conclusion
The problem was resolved through changing the amount of load
being sent to a server based on outstanding requests at the
client side.  If a server is being overloaded, and other
servers can handle the request, the request is then sent
to the server that can handle the request, verses just
sending it to the overworked server.
Temporary fix Comments
APAR information
APAR number PQ68069
Reported component name WEBSPHERE AE AI
Reported component ID 5630A2200
Reported release 400
Status CLOSED PER
PE NoPE
HIPER NoHIPER
Submitted date 2002-11-08
Closed date 2002-12-17
Last modified date 2002-12-17

APAR is sysrouted FROM one or more of the following:

APAR is sysrouted TO one or more of the following:

Modules/Macros
WLM          

SRLS

Fix information
Fixed component name WEBSPHERE AE AI
Fixed component ID 5630A2200

Applicable component levels
R400 PSY    UP


Document Information


Product categories: Software > Application Servers > Distributed Application & Web Servers > WebSphere Application Server > General
Operating system(s):
Software version: 400
Software edition:
Reference #: PQ68069
IBM Group: Software Group
Modified date: Dec 17, 2002