A fix is available
Closed as program error.
Error Message: The customer setup included a pair of EJBS deployed in 2 different applications on the same Server. The EJB methods pass around heavily nested objects which trigger a lot of internal cache lookup. Under high load, the javacores reveal a bottleneck in com/ibm/rmi/util/RepositoryId .java's checkClassCache() method which result is very slow requests processing times. While this problem was reported on collocated EJB calls, the same problem might happen in the remote invocation scenario too. . Stack Trace: javacore thread stack showing contention: "WebContainer : 0" (TID:0x000000012443C300, sys_thread_t:0x000000011ED89A90, state:B, native ID:0x00000000000E216D) prio=5 at com/ibm/rmi/util/RepositoryId.checkClassCache(RepositoryId.java: 658(Compiled Code)) at com/ibm/rmi/util/RepositoryId.getClassFromType(RepositoryId.java :617(Compiled Code)) at com/ibm/rmi/iiop/CDRInputStream.fast_read_value(CDRInputStream.j ava:1990(Compiled Code)) <deleted for readability> at java/io/ObjectInputStream.readObject(ObjectInputStream.java:357( Compiled Code)) at java/util/TreeMap.buildFromSorted(TreeMap.java:1623(Compiled Code)) at java/util/TreeMap.buildFromSorted(TreeMap.java:1563(Compiled Code)) at java/util/TreeMap.readObject(TreeMap.java(Compiled Code)) at sun/reflect/GeneratedMethodAccessor120.invoke(Bytecode PC:40(Compiled Code)) at sun/reflect/DelegatingMethodAccessorImpl.invoke(DelegatingMethod AccessorImpl.java:43(Compiled Code)) at java/lang/reflect/Method.invoke(Method.java:603(Compiled Code)) at com/ibm/rmi/io/IIOPInputStream.invokeObjectReader(IIOPInputStrea m.java:1689(Compiled Code)) <deleted for readability> at com/ibm/rmi/io/IIOPInputStream.simpleReadObjectLoop(IIOPInputStr eam.java:480(Compiled Code)) at com/ibm/rmi/io/IIOPInputStream.simpleReadObject(IIOPInputStream. java:434(Compiled Code)) at com/ibm/rmi/io/ValueHandlerImpl.readValue(ValueHandlerImpl.java: 201(Compiled Code)) at com/ibm/rmi/iiop/CDRInputStream.read_value(CDRInputStream.java:1 583(Compiled Code)) at com/ibm/rmi/util/ProxyUtil.copyObject(ProxyUtil.java:451(Compile d Code)) at com/ibm/rmi/util/ProxyUtil.invokeWithClassLoaders(ProxyUtil.java :755(Compiled Code)) at com/ibm/CORBA/iiop/ClientDelegate.invoke(ClientDelegate.java:115 5(Compiled Code)) at com/a/b/c/d/_EJB1_Stub.ejbMethod(_EJB1_Stub.java:332(Compiled Code)) ... .
If the customer scenario reveals slow response times for _collocated_ EJB methods (inside WAS), then setting the classloader policy to single in conjunction with setting pass_by_reference to true will work around the issue.
The slow processing of requests was caused by the prevalent cache design .
This defect will be fixed in: 5.0.0 SR8 . The cache design was overhauled to allow for more concurrent access as also the classloading-order which was refactored to prevent possible repetition of searches. . To obtain the fix: Install build 20080702 or later
Reported component name
JAVA 5 ORB
Reported component ID
Last modified date
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
PK66121 PK66122 PK66123 PK66124 PK68826
Fixed component name
JAVA 5 ORB
Fixed component ID
Applicable component levels
Rate this page:
Copyright and trademark information
IBM, the IBM logo and ibm.com are trademarks of International Business Machines Corp., registered in many jurisdictions worldwide. Other product and service names might be trademarks of IBM or other companies. A current list of IBM trademarks is available on the Web at "Copyright and trademark information" at www.ibm.com/legal/copytrade.shtml.