Fixes are available
7.0.0.9: WebSphere Application Server V7.0 Fix Pack 9 for IBM i
7.0.0.9: WebSphere Application Server V7.0 Fix Pack 9 for Windows
7.0.0.9: WebSphere Application Server V7.0 Fix Pack 9 for AIX
7.0.0.9: WebSphere Application Server V7.0 Fix Pack 9 for HP-UX
7.0.0.9: Java SDK 1.6 SR7 Cumulative Fix for WebSphere Application Server
7.0.0.9: WebSphere Application Server V7.0 Fix Pack 9 for Solaris
7.0.0.9: WebSphere Application Server V7.0 Fix Pack 9 for Linux
7.0.0.11: WebSphere Application Server V7.0 Fix Pack 11 for IBM i
7.0.0.11: WebSphere Application Server V7.0 Fix Pack 11 for Windows
7.0.0.11: WebSphere Application Server V7.0 Fix Pack 11 for HP-UX
7.0.0.11: WebSphere Application Server V7.0 Fix Pack 11 for AIX
7.0.0.11: Java SDK 1.6 SR7 Cumulative Fix for WebSphere Application Server
7.0.0.11: WebSphere Application Server V7.0 Fix Pack 11 for Solaris
7.0.0.11: WebSphere Application Server V7.0 Fix Pack 11 for Linux
7.0.0.13: WebSphere Application Server V7.0 Fix Pack 13 for AIX
7.0.0.13: WebSphere Application Server V7.0 Fix Pack 13 for HP-UX
7.0.0.13: WebSphere Application Server V7.0 Fix Pack 13 for IBM i
7.0.0.13: WebSphere Application Server V7.0 Fix Pack 13 for Linux
7.0.0.13: WebSphere Application Server V7.0 Fix Pack 13 for Solaris
7.0.0.13: WebSphere Application Server V7.0 Fix Pack 13 for Windows
7.0.0.13: Java SDK 1.6 SR8FP1 Cumulative Fix for WebSphere Application Server
7.0.0.15: WebSphere Application Server V7.0 Fix Pack 15 for AIX
7.0.0.15: Java SDK 1.6 SR9 Cumulative Fix for WebSphere Application Server
7.0.0.15: WebSphere Application Server V7.0 Fix Pack 15 for HP-UX
7.0.0.15: WebSphere Application Server V7.0 Fix Pack 15 for IBM i
7.0.0.15: WebSphere Application Server V7.0 Fix Pack 15 for Linux
7.0.0.15: WebSphere Application Server V7.0 Fix Pack 15 for Solaris
7.0.0.15: WebSphere Application Server V7.0 Fix Pack 15 for Windows
7.0.0.17: WebSphere Application Server V7.0 Fix Pack 17
7.0.0.17: Java SDK 1.6 SR9 FP1 Cumulative Fix for WebSphere Application Server
7.0.0.19: WebSphere Application Server V7.0 Fix Pack 19
7.0.0.21: WebSphere Application Server V7.0 Fix Pack 21
7.0.0.23: WebSphere Application Server V7.0 Fix Pack 23
7.0.0.25: WebSphere Application Server V7.0 Fix Pack 25
8.5.0.1: WebSphere Application Server V8.5 Fix Pack 1
7.0.0.27: WebSphere Application Server V7.0 Fix Pack 27
8.5.0.2: WebSphere Application Server V8.5 Fix Pack 2
8.0.0.6: WebSphere Application Server V8.0 Fix Pack 6
7.0.0.29: WebSphere Application Server V7.0 Fix Pack 29
8.0.0.7: WebSphere Application Server V8.0 Fix Pack 7
8.0.0.8: WebSphere Application Server V8.0 Fix Pack 8
7.0.0.31: WebSphere Application Server V7.0 Fix Pack 31
7.0.0.27: Java SDK 1.6 SR13 FP2 Cumulative Fix for WebSphere Application Server
7.0.0.33: WebSphere Application Server V7.0 Fix Pack 33
8.0.0.9: WebSphere Application Server V8.0 Fix Pack 9
7.0.0.35: WebSphere Application Server V7.0 Fix Pack 35
8.0.0.10: WebSphere Application Server V8.0 Fix Pack 10
8.0.0.11: WebSphere Application Server V8.0 Fix Pack 11
8.0.0.12: WebSphere Application Server V8.0 Fix Pack 12
8.0.0.13: WebSphere Application Server V8.0 Fix Pack 13
8.0.0.14: WebSphere Application Server V8.0 Fix Pack 14
8.0.0.15: WebSphere Application Server V8.0 Fix Pack 15
7.0.0.19: Java SDK 1.6 SR9 FP2 Cumulative Fix for WebSphere Application Server
7.0.0.21: Java SDK 1.6 SR9 FP2 Cumulative Fix for WebSphere
7.0.0.23: Java SDK 1.6 SR10 FP1 Cumulative Fix for WebSphere
7.0.0.25: Java SDK 1.6 SR11 Cumulative Fix for WebSphere Application Server
7.0.0.27: Java SDK 1.6 SR12 Cumulative Fix for WebSphere Application Server
7.0.0.29: Java SDK 1.6 SR13 FP2 Cumulative Fix for WebSphere Application Server
7.0.0.45: Java SDK 1.6 SR16 FP60 Cumulative Fix for WebSphere Application Server
7.0.0.31: Java SDK 1.6 SR15 Cumulative Fix for WebSphere Application Server
7.0.0.35: Java SDK 1.6 SR16 FP1 Cumulative Fix for WebSphere Application Server
7.0.0.37: Java SDK 1.6 SR16 FP3 Cumulative Fix for WebSphere Application Server
7.0.0.39: Java SDK 1.6 SR16 FP7 Cumulative Fix for WebSphere Application Server
7.0.0.41: Java SDK 1.6 SR16 FP20 Cumulative Fix for WebSphere Application Server
7.0.0.43: Java SDK 1.6 SR16 FP41 Cumulative Fix for WebSphere Application Server
APAR status
Closed as program error.
Error description
When an application contains a large amount of EJB metadata, that is, when the EJB deployment descriptor (ejb-jar.xml) contains many EJB elements and EJB method elements, excess memory utilization occurs. This can lead to the process running out of memory, and causes an overall reduction in performance.
Local fix
Problem summary
**************************************************************** * USERS AFFECTED: All users of IBM WebSphere Application * * Server V7.0 * **************************************************************** * PROBLEM DESCRIPTION: Excess memory utilization for * * application deployements having large * * amounts of EJB metadata. * **************************************************************** * RECOMMENDATION: * **************************************************************** This update provides code changes which reduce the memory required for application deployment operations for applications which have a large amount of Enterprise Java Bean (EJB) metadata. For such applications, application deployment can have exceptionally large memory utilization. This slows the deployment process, and can lead to out-of-memory situations. In a sample field application, the application has a total file size of EJB deployment descriptors of approximately 22MB across 42 modules, with the largest descriptor being about 2MB and (for that single module) representing 499 EJB classes, 6205 method elements, and 2806 CMP attributes. A deployment of the application is only possible with the Java Maximum Memory set to 4GB, and even when possible, the deployment takes an excessive amount of time (over 50 minutes). The results of this code update, for the sample application, were a reduction of the deployment time by approximately 50% (from about 41 minutes to about 22 minutes using local test resources), and a 12% improvement in maximum tenured and approximately a 25% improvement in average tenured usage. Similar results are expected for applications having very large amounts of EJB metadata. For this update, "Enterprise Java Bean (EJB) metadata)" is metadata read from EJBJar deployment descriptor files, "META-INF/ejb-jar.xml", as provided within EJBJar files. Of interest is the overall count of elements in the EJBJar deployment descriptor. Also of interest are elements for Enterprise Java Bean (EJB) classes, and elements for Enterprise Java Bean (EJB) methods. Memory utilization occurs in proportion to the overall count of elements, and occurs in proportion to the number of EJB class and EJB method elements, and in proportion to the amount of fan-out that occurs when processing classes associated with the EJB classes. That is, superclasses, interfaces, parameter types, result types, and exception types of the EJB class and its methods. Excess memory use occurs in two areas: 1) Deserialization of the EJB descriptor data uses a DOM XML parser to generate a tree of DOM nodes, which are then used to marshall the EJB descriptor as Eclipse Modeling Framework (EMF) objects. The current implementation retains the intermediate DOM nodes. 2) Processing of the EJB metadata causes the generation of Eclipse Modelling Framework (EMF) JavaClass and JavaMethod objects, using types provided by the Java Eclipse Model (JEM) framework. Initially, a JavaClass or JavaMethod is implemented as a lightweight proxy object. However, operations are available to access typing information for the class or method. This causes the lightweight proxy to be converted to a populated object, with new objects created for the superclass of the class, for the interfaces of the class, for the methods of the class, and for the parameters, return type, and exceptions of the methods. 2) (Continued) In the current implementation, the expansion of the JavaClass and JavaMethod objects does not ensure that references to the same class result in identical java objects. This leads to a large amount of duplication of JavaClass and JavaMethod objects. 3) In addition, the JavaClass and JavaMethod objects are used for a single stage of application deployment processing, and following that stage are no longer necessary.
Problem conclusion
Particular changes are made to avoid the overheads as listed above. That is: 1) Following the XML parse step for application metadata, including EJB metadata, to prune intermediate parse data. 2) When expanding JavaClass and JavaMethod data, to share instances which are for the same java classes. 3) Following the use of JavaClass and JavaMethod data, to return those JavaClass and JavaMethod objects to their lightweight, unexpanded state. The changes as provided by this update target key areas of code which is used to process application metadata. For the current release, the changes are enabled through a system property. The default is for the changes to be disabled. System properties are handled as Java virtual machine custom properties in the IBM WebSphere Application Server Information Center for version 7. For instructions on setting Java virtual machine custom properties using the administrative console, see: http://publib.boulder.ibm.com/infocenter/wasinfo/v7r0/index.jsp And, in particular, see: http://publib.boulder.ibm.com/infocenter/wasinfo/v7r0/topic/com. ibm.websphere.nd.iseries.doc/info/iseriesnd/ae/xrun_jvm.html The following java system properties are available to enable the code updates. These java system properties default to false, which leaves the code updates disabled. To enable the code updates, set both java system properties to true. (For recommended usage, the java systems properties should be set in pairs: Either both should be set to false, or left unset, or both should be set to true.) The following java system property is used to enable the pruning of intermediate DOM nodes following the XML parse of application metadata: com.ibm.config.eclipse.wtp.enablexmltrim=true The following java system property is used to enable the sharing of JavaClass instances, and to enable the conversion of expanded JavaClass and JavaMethod objects to lightweight proxies following their use: com.ibm.config.eclipse.wtp.enablejemtrim=true New trace settings are available for use in relation to this update. These settings should be used for problem diagnostics if a problem is encountered with this code update enabled: The following trace specification is used to generate trace from code areas which are enabled by the java system property, "com.ibm.config.eclipse.wtp.enablexmltrim": com.ibm.config.eclipse.wtp.xmltrim=finer The following trace specification is used to generate trace from areas which are enabled by the java system property, "com.ibm.config.eclipse.wtp.enablejemtrim": com.ibm.config.eclipse.wtp.jem=finer The fix for this APAR is currently targeted for inclusion in fix pack 7.0.0.9. 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
PM03448
Reported component name
WEBSPHERE APP S
Reported component ID
5724J0800
Reported release
61A
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2009-12-14
Closed date
2010-02-22
Last modified date
2010-02-22
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 APP S
Fixed component ID
5724J0800
Applicable component levels
R700 PSY
UP
Document Information
Modified date:
24 October 2021