Fix (APAR): JR25092 Status: Fix Release: 6.0.1.3,6.0.1.2 Operating System: AIX,HP-UX,Linux,Solaris,Windows Supersedes Fixes: CMVC Defect: xxxxxx Byte size of APAR: 58850 Date: 2006-11-27 Abstract: Performance fix for BO coreFrameWork component. Description/symptom of problem: JR25092 resolves the following problem: ERROR DESCRIPTION: In the ContactManager workload (synchronous versoin, running on WPS 6.01 GM, Windows) we observe large amounts of Iterative List processing in the CoreFramework code. In particular, MapMapList.get() consumes 645,000 instructions and NameSpaceList.getEClassifier() consumes 562,000 instructions. These costs would be greatly reduced if the collections underlying them were changed from a List to a Map. We have estimated the savings (by adding a Mapping cache in front of these metohd invocations) at about 8%. If the actual Collection contained in the implementation were changed, the savings would be even better than this (since the caches would be populated in a constructor rather than at first use). It appears that we acquire one element in our NameSpaceList for each XSD file in our shared.jar (for instance). ContactManager contains 18 XSDs in its shared.jar. This is not a large number. Customer applications containing more Complex Data Type Definitions than ContactManager would suffer even more from these iterations. LOCAL FIX: NA PROBLEM SUMMARY USERS AFFECTED: WebSphere Process Server 6.0.1.x users. PROBLEM DESCRIPTION: Performance fix for BO coreFrameWork component. RECOMMENDATION: None Prior to this fix, it was observed that there was large amounts of Iterative List processing in the CoreFramework code. In particular, MapMapList.get() and NameSpaceList.getEClassifier() consumes hundreds of thousands of instructions. PROBLEM CONCLUSION: This fix improves the performance by changing the internal collection type from List to Map and by adding a Map Cache in front of these method invocations. Directions to apply fix: Before applying the iFix ensure that WebSphere Process Server 6.0.1 is installed on the system. Also download and follow Update Installer installation instructions. The Update Installer can be downloaded from the following link: http://www.ibm.com/support/docview.wss?rs=180&uid=swg21205991 1) Copy the pak file to the directory maintenance in the UpdateInstaller directory 2) Shutdown WebSphere Process Server. It is important that you perform a controlled and complete shutdown of the server to ensure that all transactions have completed, before installing the fix. 3) Run the UpdateInstaller and follow the prompts. 4) Restart WebSphere Directions to remove fix: NOTE: FIXES MUST BE REMOVED IN THE REVERSE ORDER IN WHICH THEY WERE APPLIED. DO NOT REMOVE A FIX UNLESS ALL FIXES APPLIED AFTER IT HAVE FIRST BEEN REMOVED. YOU MAY REAPPLY ANY REMOVED FIX. Example: If your system has fix1, fix2, and fix3 applied in that order and fix2 is to be removed, fix3 must be removed first, then fix2 may be removed 1) Shutdown WebSphere. It is important that you perform a controlled and complete shutdown of the server to ensure that all transactions have completed, before installing the fix. 2) Follow the Fix instructions that are packaged with the Fix Installer on how to uninstall and reinstall the Fix. 3) Restart WebSphere Directions to re-apply fix: 1) Shutdown WebSphere. It is important that you perform a controlled and complete shutdown of the server to ensure that all transactions have completed, before installing the fix. 2) Run the UpdateInstaller and follow the instructions. The Update Installer can be downloaded from the following link: http://www.ibm.com/support/docview.wss?rs=180&uid=swg21205991 3) Restart WebSphere Process Server Additional Information: You will need JR24750 which is a pre-requisite for this interim fix.