IBM Support

PH18777: CONCURRENTMODIFICATIONEXCEPTION AFTER PH07008

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • After applying PH07008 shipped by 8.5.5.16 (see TS002545981)
    customer experiences
    
    java.util.ConcurrentModificationException
     at
    java.util.HashMap$HashIterator.nextNode(HashMap.java:1456)
     at
    java.util.HashMap$KeyIterator.next(HashMap.java:1480)
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:  All users of IBM WebSphere Application      *
    *                  Server - Java Persistence API - JPA 2.0 &   *
    *                  OpenJPA                                     *
    ****************************************************************
    * PROBLEM DESCRIPTION: OpenJPA's class metadata loading        *
    *                      could throw a                           *
    *                      ConcurrentModificationException. This   *
    *                      is a regression fix for PH18777.        *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    There exists a narrow race condition during OpenJPA's class
    metadata loading in which multiple threads may attempt to
    access/modify the same Collection cache in OpenJPA's
    MetaDataRepository simultaneously. When this runtime exception
    occurs, a ConcurrentModificationException will be thrown. Due
    to OpenJPA's lazy metadata loading, this exception may be
    thrown well after an application has started and has been
    running. Reproducing the failure is very difficult as it
    requires hitting a narrow, multithreaded race condition.
    Exception:
    Caused by: java.util.ConcurrentModificationException
    at java.util.HashMap$HashIterator.nextNode(HashMap.java:1456)
    at java.util.HashMap$KeyIterator.next(HashMap.java:1480)
    at
    java.util.AbstractCollection.finishToArray(AbstractCollection.ja
    va:243)
    at
    java.util.AbstractCollection.toArray(AbstractCollection.java:210
    )
    at
    org.apache.openjpa.meta.MetaDataRepository.processRegisteredClas
    ses(MetaDataRepository.java:1638)
    at
    org.apache.openjpa.meta.ClassMetaData.getPCSubclasses(ClassMetaD
    ata.java:377)
    at
    org.apache.openjpa.meta.ClassMetaData.getPCSubclassMetaDatas(Cla
    ssMetaData.java:394)
    at
    org.apache.openjpa.meta.ClassMetaData.getMappedPCSubclassMetaDat
    as(ClassMetaData.java:416)
    at
    org.apache.openjpa.jdbc.meta.ClassMapping.getMappedPCSubclassMap
    pings(ClassMapping.java:655)
    at
    org.apache.openjpa.jdbc.meta.ClassMapping.getIndependentAssignab
    leMappings(ClassMapping.java:694)
    at
    org.apache.openjpa.jdbc.kernel.JDBCStoreManager.initializeState(
    JDBCStoreManager.java:344)
    at
    org.apache.openjpa.jdbc.kernel.JDBCStoreManager.initialize(JDBCS
    toreManager.java:306)
    at
    com.ibm.ws.persistence.jdbc.kernel.WsJpaJDBCStoreManager.initial
    ize(WsJpaJDBCStoreManager.java:178)
    at
    org.apache.openjpa.kernel.DelegatingStoreManager.initialize(Dele
    gatingStoreManager.java:112)
    at
    org.apache.openjpa.datacache.DataCacheStoreManager.initialize(Da
    taCacheStoreManager.java:360)
    at
    org.apache.openjpa.kernel.DelegatingStoreManager.initialize(Dele
    gatingStoreManager.java:112)
    at
    org.apache.openjpa.kernel.ROPStoreManager.initialize(ROPStoreMan
    ager.java:57)
    at
    org.apache.openjpa.kernel.BrokerImpl.initialize(BrokerImpl.java:
    1051)
    at
    com.ibm.ws.persistence.kernel.WsJpaBrokerImpl.initialize(WsJpaBr
    okerImpl.java:271)
    at
    org.apache.openjpa.kernel.BrokerImpl.find(BrokerImpl.java:1009)
    

Problem conclusion

Temporary fix

  • Rerunning the operation seems to allow the exception to not
    occur again, but it may occur again in the future.
    

Comments

APAR Information

  • APAR number

    PH18777

  • Reported component name

    WEBSPHERE FOR Z

  • Reported component ID

    5655I3500

  • Reported release

    850

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2019-11-04

  • Closed date

    2020-01-13

  • Last modified date

    2020-01-13

  • 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

    WEBSPHERE FOR Z

  • Fixed component ID

    5655I3500

Applicable component levels

  • R850 PSY

       UP

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

Document Information

Modified date:
15 October 2021