IBM Support

PI50714: PROGRAM ERROR IN THE ANNOTATION MERGE CODE

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • WebSphere Application Server V8.5.5.
    At the "Preparing for the application installation"
    console panel, after you select the ear to install and click
    next, it takes a long time (30 minutes) before proceeding to
    the next panel. In trace and SystemOut.log the following is
    reported:
    
    [10/1/15 2:13:27:759 PDT] 000000f6 annotations
    2 TransactionAttributeMergeAction applyClassAnnotation Recording
    annotation [
    com.ibm.ws.amm.scan.util.info.impl.AnnotationInfoImpl@-857370603
    (
    javax.ejb.TransactionAttribute ) ] on method [
    com.ibm.ws.amm.scan.util.info.impl.MethodInfoImpl@-437147755 (
    application-specific packagename.ClassName.methodName) ]
    as target on class [
    com.ibm.ws.amm.scan.util.info.impl.NonDelayedClassInfo@-15649172
    67 (application-specific packagename.ClassName.methodName ) ]
    [10/1/15 2:13:27:759 PDT] 000000f6 annotations   1
    TransactionAttributeMergeAction applyAllClassAnnotations RETURN
    [10/1/15 2:21:36:956 PDT] 0000017c ThreadMonitor W   WSVR0605W:
    Thread
    "WebContainer : 1" (000000f6) has been active for 773734
    milliseconds and may be hung.  There is/are 1 thread(s) in
    total in the server that may be hung.
    at java.lang.String.toLowerCase(String.java:1213)
    at java.lang.String.toLowerCase(String.java:1172)
    at
    com.ibm.ws.amm.merge.ejb.TransactionAttributeMergeAction.toTrans
    actionAttributeType(TransactionAttributeMergeAction.java:867)
    at
    com.ibm.ws.amm.merge.ejb.TransactionAttributeMergeAction.getMeth
    odTransaction(TransactionAttributeMergeAction.java:239)
    at
    com.ibm.ws.amm.merge.ejb.TransactionAttributeMergeAction.updateD
    eploymentDescriptor(TransactionAttributeMergeAction.java:218)
    at
    com.ibm.ws.amm.merge.ejb.TransactionAttributeMergeAction.merge(T
    ransactionAttributeMergeAction.java:150)
    at
    com.ibm.ws.amm.AnnotativeMetadataManagerImpl.performMergeOperati
    ons(AnnotativeMetadataManagerImpl.java:404)
    at
    com.ibm.ws.amm.AnnotativeMetadataManagerImpl.merge(AnnotativeMet
    adataManagerImpl.java:272)
    at
    com.ibm.ws.amm.commonarchive.AnnotationsProcessorImpl.merge(Anno
    tationsProcessorImpl.java:175)
    at
    com.ibm.ws.amm.commonarchive.AnnotationsProcessorImpl.merge(Anno
    tationsProcessorImpl.java:77)
    at
    org.eclipse.jst.j2ee.commonarchivecore.internal.impl.EJBJarFileI
    mpl.processAnnotations(EJBJarFileImpl.java:584)
    at
    org.eclipse.jst.j2ee.commonarchivecore.internal.impl.EJBJarFileI
    mpl.getDeploymentDescriptor(EJBJarFileImpl.java:475)
    

Local fix

  • wait around 30 minutes to go to the next console panel.
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED:  All users of IBM WebSphere Application      *
    *                  Server using the @TransactionAttribute      *
    *                  annotation                                  *
    ****************************************************************
    * PROBLEM DESCRIPTION: Use of the @TransactionAttribute        *
    *                      annotation on classes with large        *
    *                      numbers of methods can cause            *
    *                      deployment to be slow.                  *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    When deploying an application which is enabled for annotations
    processing and which contains @TransactionAttribute
    annotations on classes with many methods, annotations
    processing can take an extremely long time -- 30 minutes or
    more.
    The problem occurs from the IBM WebSphere Application Server
    Administrative Console, at the panel "Preparing for the
    application installation".
    The symptom is is a very long delay between clicking next and
    the display of the next panel.
    The problem may be accompanied by a warning message WSVR0605W
    displayed to server logs, which indicates that a thread may be
    hung.  For example:
    [10/1/15 2:13:27:759 PDT] 000000f6 annotations 2
    TransactionAttributeMergeAction applyClassAnnotation
    Recording annotation [
    com.ibm.ws.amm.scan.util.info.impl.AnnotationInfoImpl@-
    857370603
    ( javax.ejb.TransactionAttribute ) ]
    on method [
    com.ibm.ws.amm.scan.util.info.impl.MethodInfoImpl@-437147755 (
    packagename.ClassName.methodName) ]
    as target on class [
    com.ibm.ws.amm.scan.util.info.impl.NonDelayedClassInfo@-
    15649172
    67 ( packagename.ClassName ) ]
    [10/1/15 2:13:27:759 PDT] 000000f6 annotations   1
    TransactionAttributeMergeAction applyAllClassAnnotations RETURN
    [10/1/15 2:21:36:956 PDT] 0000017c ThreadMonitor W WSVR0605W:
    Thread "WebContainer : 1" (000000f6) has been active for
    773734 milliseconds and may be hung.  There is/are 1 thread(s)
    in total in the server that may be hung.
    at java.lang.String.toLowerCase(String.java:1213)
    at java.lang.String.toLowerCase(String.java:1172)
    at
    com.ibm.ws.amm.merge.ejb.TransactionAttributeMergeAction.toTrans
    actionAttributeType(TransactionAttributeMergeAction.java:867)
    at
    com.ibm.ws.amm.merge.ejb.TransactionAttributeMergeAction.getMeth
    odTransaction(TransactionAttributeMergeAction.java:239)
    at
    com.ibm.ws.amm.merge.ejb.TransactionAttributeMergeAction.updateD
    eploymentDescriptor(TransactionAttributeMergeAction.java:218)
    at
    com.ibm.ws.amm.merge.ejb.TransactionAttributeMergeAction.merge(T
    ransactionAttributeMergeAction.java:150)
    at
    com.ibm.ws.amm.AnnotativeMetadataManagerImpl.performMergeOperati
    ons(AnnotativeMetadataManagerImpl.java:404)
    at
    com.ibm.ws.amm.AnnotativeMetadataManagerImpl.merge(AnnotativeMet
    adataManagerImpl.java:272)
    at
    com.ibm.ws.amm.commonarchive.AnnotationsProcessorImpl.merge(Anno
    tationsProcessorImpl.java:175)
    at
    com.ibm.ws.amm.commonarchive.AnnotationsProcessorImpl.merge(Anno
    tationsProcessorImpl.java:77)
    at
    org.eclipse.jst.j2ee.commonarchivecore.internal.impl.EJBJarFileI
    mpl.processAnnotations(EJBJarFileImpl.java:584)
    at
    org.eclipse.jst.j2ee.commonarchivecore.internal.impl.EJBJarFileI
    mpl.getDeploymentDescriptor(EJBJarFileImpl.java:475)
    A key symptom is the presence of class
    "TransactionAttributeMergeAction" in the stack which
    accompanies
    the logged warning.
    

Problem conclusion

  • The problem occurred because of errors in code that processes
    @TransactionAttribute annotations.  Three coding errors were
    found:
    First, incorrect comparisons of EJB names caused the creation of
    extremely large collections of transaction attribute types.
    Second, incorrect list processing caused unnecessary
    traversals of the list of attribute types.
    Third, lookup values were unnecessarily recomputed during
    iterative searches of the attribute types lists.
    
    The combination of these errors caused the processing to take
    a very long time -- up to two tenths of a second or more for
    each method processed.
    
    The @TransactionAttribute merge processing has been updated to
    adddress all of the above performance issues.
    
    The fix for this APAR is currently targeted for inclusion in
    fix packs 8.0.0.14 and 8.5.5.10.  Please refer to the
    Recommended Updates page for delivery information:
    
    http://www.ibm.com/support/docview.wss?rs=180&uid=swg27004980
    

Temporary fix

Comments

APAR Information

  • APAR number

    PI50714

  • Reported component name

    WEBS APP SERV N

  • Reported component ID

    5724H8800

  • Reported release

    850

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2015-10-16

  • Closed date

    2016-01-06

  • Last modified date

    2016-11-17

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

Fix information

  • Fixed component name

    WEBS APP SERV N

  • Fixed component ID

    5724H8800

Applicable component levels

  • R850 PSY

       UP

[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSEQTP","label":"WebSphere Application Server"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"8.5","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
27 April 2022