Fixes are available
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
The fix for this APAR changes the OpenJPA implementation and involves an update to the third-party source. See https://issues.apache.org/jira/browse/OPENJPA-2767 This fix is currently targeted for WebSphere Application Server 9.0.5.3, 8.5.5.17, and WebSphere Liberty 20.0.0.2. Please refer to the Recommended Updates page for delivery information: http://www.ibm.com/support/docview.wss?rs=180&uid=swg27004980
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 & Data Platform"},"Product":{"code":"SS7K4U","label":"WebSphere Application Server for z\/OS"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"850","Line of Business":{"code":"LOB45","label":"Automation"}}]
Document Information
Modified date:
15 October 2021