APAR status
Closed as program error.
Error description
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)) ... .
Local fix
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.
Problem summary
The slow processing of requests was caused by the prevalent cache design .
Problem conclusion
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
Temporary fix
Comments
APAR Information
APAR number
IZ22312
Reported component name
JAVA 5 ORB
Reported component ID
620500123
Reported release
500
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2008-05-16
Closed date
2008-07-10
Last modified date
2008-07-10
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
Fix information
Fixed component name
JAVA 5 ORB
Fixed component ID
620500123
Applicable component levels
R500 PSN
UP
[{"Business Unit":{"code":"BU048","label":"IBM Software"},"Product":{"code":"SSC9HBB","label":"ORB"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"5.0","Edition":"","Line of Business":{"code":"","label":""}}]
Document Information
Modified date:
10 July 2008