APAR status
Closed as program error.
Error description
Client's upgrade from WebSphere 8.5.5.19 to 8.5.5.22 caused significant performance regression This APAR is to add a cache in EMF of the SAXParserFactory.
Local fix
Problem summary
**************************************************************** * USERS AFFECTED: All users of IBM WebSphere * * Application Server who also use IBM * * Business Automation Workflow * **************************************************************** * PROBLEM DESCRIPTION: Performance might be impacted after * * upgrading to WebSphere Application * * Server 8.5.5.21 due a security APAR * * PH38310. * **************************************************************** * RECOMMENDATION: * **************************************************************** PH38310 has a minor performance impact on the creation of a SAXParser. Some usages of Business Automation Workflow, presumably applications needing to process a large number of xml files, might cause repeated creation of a SAXParser, which can cause a noticeable slow down. Most users should not see any noticeable impact after installing PH38310 or upgrading to 8.5.5.21 or higher. Performance problems are typically investigated by taking java thread dumps over regular intervals during the period of time when the program seems to be slow. The following is an example stack trace from a thread dump for the reported problem. Note the inclusion of XMLLoadImpl.makeParser. This indicates that the thread is exercising code which creates a SAXParser. In the reported problem most thread dumps contain a stack similar to this. Java callstack: at com/ibm/ws/classloader/CompoundClassLoader.loadClass(CompoundCla ssLoader.java:556(Compiled Code)) (entered lock: com/ibm/ws/classloader/CompoundClassLoader@0x0000000106B5A268, entry count: 1) at java/lang/ClassLoader.loadClass(ClassLoader.java:876(Compiled Code)) at org/apache/xerces/impl/dv/ObjectFactory.findProviderClass(Byteco de PC:55(Compiled Code)) at org/apache/xerces/impl/dv/ObjectFactory.newInstance(Bytecode PC:3(Compiled Code)) at org/apache/xerces/impl/dv/DTDDVFactory.getInstance(Bytecode PC:5(Compiled Code)) ... at org/apache/xerces/parsers/ObjectFactory.createObject(Bytecode PC:3(Compiled Code)) ... at org/apache/xerces/jaxp/SAXParserImpl.<init>(Bytecode PC:4(Compiled Code)) at org/apache/xerces/jaxp/SAXParserFactoryImpl.newSAXParserImpl(Byt ecode PC:9(Compiled Code)) at org/apache/xerces/jaxp/SAXParserFactoryImpl.setFeature(Bytecode PC:109(Compiled Code)) at org/eclipse/emf/ecore/xmi/impl/XMLLoadImpl.makeParser(XMLLoadImp l.java:379(Compiled Code)) at org/eclipse/emf/ecore/xmi/impl/XMLLoadImpl.load(XMLLoadImpl.java :188(Compiled Code)) at org/eclipse/emf/ecore/xmi/impl/XMLResourceImpl.doLoad(XMLResourc eImpl.java:179(Compiled Code)) at org/eclipse/wst/common/internal/emf/resource/CompatibilityXMIRes ourceImpl.basicDoLoad(CompatibilityXMIResourceImpl.java:180(Comp iled Code)) at org/eclipse/wst/common/internal/emf/resource/CompatibilityXMIRes ourceImpl.doLoad(CompatibilityXMIResourceImpl.java:173(Compiled Code)) at org/eclipse/emf/ecore/resource/impl/ResourceImpl.load(ResourceIm pl.java:1094(Compiled Code)) at org/eclipse/emf/ecore/resource/impl/ResourceImpl.load(ResourceIm pl.java:900(Compiled Code)) at org/eclipse/wst/common/internal/emf/resource/CompatibilityXMIRes ourceImpl.load(CompatibilityXMIResourceImpl.java:259(Compiled Code)) at com/ibm/websphere/resource/WASResourceImpl.load(WASResourceImpl. java:286(Compiled Code)) (entered lock: com/ibm/websphere/resource/WASResourceImpl@0x0000000654B90078, entry count: 1) at org/eclipse/emf/ecore/resource/impl/ResourceSetImpl.demandLoad(R esourceSetImpl.java:249(Compiled Code)) at org/eclipse/emf/ecore/resource/impl/ResourceSetImpl.demandLoadHe lper(ResourceSetImpl.java:264(Compiled Code)) at org/eclipse/emf/ecore/resource/impl/ResourceSetImpl.getResource( ResourceSetImpl.java:390(Compiled Code)) at com/ibm/websphere/resource/WASResourceSetImpl.getResource(WASRes ourceSetImpl.java:325(Compiled Code)) (entered lock: com/ibm/websphere/resource/WASResourceSetImpl@0x0000000654B22280 , entry count: 2) at com/ibm/websphere/resource/WASResourceSetImpl.getResource(WASRes ourceSetImpl.java:298(Compiled Code)) (entered lock: com/ibm/websphere/resource/WASResourceSetImpl@0x0000000654B22280 , entry count: 1) at com/ibm/ws/runtime/service/ConfigRootImpl.getResource(ConfigRoot Impl.java:351(Compiled Code)) at com/ibm/ws/runtime/service/ConfigRootImpl.getResource(ConfigRoot Impl.java:321(Compiled Code)) at com/ibm/bpm/config/model/wccm/util/RuntimeWCCMHelper$3.run(Runti meWCCMHelper.java:383(Compiled Code)) at com/ibm/bpm/config/model/wccm/util/RuntimeWCCMHelper$3.run(Runti meWCCMHelper.java:375(Compiled Code)) at java/security/AccessController.doPrivileged(AccessController.jav a:747(Compiled Code)) at com/ibm/bpm/config/model/wccm/util/RuntimeWCCMHelper.getConfigOb jects(RuntimeWCCMHelper.java:374(Compiled Code)) at com/ibm/bpm/config/model/wccm/util/RuntimeWCCMHelper.getConfigOb ject(RuntimeWCCMHelper.java:410(Compiled Code)) at com/ibm/bpm/config/model/wccm/util/RuntimeWCCMHelper.getDeployme ntEnvironments(RuntimeWCCMHelper.java:181(Compiled Code)) at com/ibm/bpm/config/model/wccm/util/RuntimeWCCMHelper.getDeployme ntEnvironments(RuntimeWCCMHelper.java:214(Compiled Code)) at com/ibm/bpm/config/model/wccm/util/RuntimeWCCMHelper.getDeployme ntEnvironment(RuntimeWCCMHelper.java:200(Compiled Code)) at com/ibm/bpm/config/spi/ConfigurationSpi.getBPMURLByScenario(Conf igurationSpi.java:1603(Compiled Code)) at com/ibm/bpm/config/spi/WSConfigurationSpi.getBPMURLByScenario(WS ConfigurationSpi.java:869(Compiled Code)) at com/ibm/bpm/endpoint/impl/EndpointServiceUtils.getBpmUrl(Endpoin tServiceUtils.java:115(Compiled Code)) at com/ibm/bpm/endpoint/impl/EndpointServiceImpl.getEndpointUrl(End pointServiceImpl.java:222(Compiled Code)) at com/ibm/bpm/endpoint/impl/EndpointServiceImpl.getEndpointUrl(End pointServiceImpl.java:119(Compiled Code)) at com/lombardisoftware/server/ejb/clientservices/FavoriteSupport.g etExposedURL(FavoriteSupport.java:1055(Compiled Code)) at com/lombardisoftware/server/ejb/clientservices/ClientServicesCor e.getExposedURL(ClientServicesCore.java:1978(Compiled Code)) at sun/reflect/GeneratedMethodAccessor432.invoke(Bytecode PC:50(Compiled Code)) at sun/reflect/DelegatingMethodAccessorImpl.invoke(DelegatingMethod AccessorImpl.java:55(Compiled Code)) at java/lang/reflect/Method.invoke(Method.java:508(Compiled Code)) at org/springframework/aop/support/AopUtils.invokeJoinpointUsingRef lection(AopUtils.java:317(Compiled Code)) at org/springframework/aop/framework/ReflectiveMethodInvocation.inv okeJoinpoint(ReflectiveMethodInvocation.java:190(Compiled Code)) at org/springframework/aop/framework/ReflectiveMethodInvocation.pro ceed(ReflectiveMethodInvocation.java:157(Compiled Code)) at com/lombardisoftware/utility/spring/TransactionInterceptor.invok e(TransactionInterceptor.java:76(Compiled Code)) at org/springframework/aop/framework/ReflectiveMethodInvocation.pro ceed(ReflectiveMethodInvocation.java:179(Compiled Code)) at com/lombardisoftware/utility/spring/CoreEntryInterceptor.invoke( CoreEntryInterceptor.java:44(Compiled Code)) at com/lombardisoftware/utility/spring/PSCoreEntryInterceptor.invok e(PSCoreEntryInterceptor.java:14(Compiled Code)) at org/springframework/aop/framework ...
Problem conclusion
The code has been updated to cache the SAXParser to avoid creating it repeatedly. The fix for this APAR is targeted for inclusion in fix pack 8.5.5.24 and 9.0.5.15 . For more information, see 'Recommended Updates for WebSphere Application Server': https://www.ibm.com/support/pages/node/715553
Temporary fix
Comments
APAR Information
APAR number
PH52005
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
2023-01-18
Closed date
2023-03-17
Last modified date
2023-03-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
[{"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:
28 March 2023