IBM Support

IZ22312: ORB PERFORMANCE DEGRADATION WHILE MARSHALLING DEEPLY NESTED OBJE CTS

Subscribe

You can track all active APARs for this component.

 

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