IBM Support

PH07141: INCREASE GRAMMAR'S UNRESOLVED COMPONENT CACHE SIZE

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Starvation happens when threads waiting for lock on TypeRegistry
    as result of grammar's unresolved component cache size
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:  All users of IBM WebSphere Application      *
    *                  Server                                      *
    ****************************************************************
    * PROBLEM DESCRIPTION: Thread starvation on TypeRegistry       *
    *                      when grammar's unknown components       *
    *                      cache fills up                          *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    Upon seeing an XML type that cannot be not found in
    TypeRegistry, TypeRegistry loads XML schema files to find
    definition of the type. However, if an XML type is not defined
    in any schema files, it is added to a cache to avoid loading
    schema files again next time when the same undefined type is
    observed. This optimization is done since schema loading
    operation can be time consuming. Where there are a large
    number of undefined types, the cache might overflow. When the
    cache overflows, a pruning algorithm cleans up items from
    the cache. This means TypeRegistry might load schema files for
    types that might have already been seen before. TypeRegistry
    gets locked when loading schemas and if there are many of
    schema loading requests, the threads have to wait and this can
    eventually cause thread starvation. The default size of the
    cache is 512. A warning is printed in the logs indicating the
    cache has overflowed.
    

Problem conclusion

  • New code has been put in to enable users to change the default
    cache size to a larger number using '
    com.ibm.xml.xlxp.internal.s1.grammar.Grammar.UnresolvedComponent
    Cache.MAXIMUM_SIZE_EXPONENT' system property. The value of
    this system property should be a positive integer and the size
    is calculated with the following formula: 2^n (n being the
    property value). The default value for this property is "9"
    which means the cache size is "2^9 = 512".
    
    The fix for this APAR is currently targeted for inclusion in
    fix pack 8.5.5.15 and fix pack 9.0.0.11.  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

    PH07141

  • 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

    2019-01-11

  • Closed date

    2019-02-28

  • Last modified date

    2019-02-28

  • 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

  • R900 PSY

       UP

[{"Business Unit":{"code":"BU053","label":"Cloud \u0026 Data Platform"},"Product":{"code":"SSEQTP","label":"WebSphere Application Server"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"850","Line of Business":{"code":"LOB36","label":"IBM Automation"}}]

Document Information

Modified date:
17 October 2021