Fix (APAR): PQ78369 Status: Fix Release: 5.0.2 Operating System: All Supersedes Fixes: PQ76492 CMVC Defect: PQ78369 Byte size of APAR: 17011 Date: 2003-09-15 Abstract: Excessive serialization degrades performance Description/symptom of problem: Every set operation into the work area service automatically results in the serialization of the new attribute. Every get operation from the work area service automatically results in the deserialization of the new attribute. Excessive serialization can result in observable performance degradation under heavy load. This fix enables a caching feature that reduces serialization and deserialization operations. Directions to apply fix: NOTE: YOU MUST FIRST DOWNLOAD THE UPDATE INSTALLER TOOL IN ORDER TO INSTALL A FIX. The Fix Installer can be downloaded from the following link: http://www-3.ibm.com/software/webservers/appserv/support/index.html 1) Create temporary "fix" directory to store the jar file: UNIX: /tmp/WebSphere/fix Windows: c:\temp\WebSphere\fix 2) Copy jar file to the directory 3) Shutdown WebSphere 4) Follow the Fix installation instructions that are packaged with the Fix Installer on how to install the Fix. 5) Restart WebSphere 6) The temp directory may be removed. Directions to remove fix: NOTE: FIXES MUST BE REMOVED IN THE ORDER 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, fix2 removed, and fix3 re-applied. 1) Shutdown WebSphere 2) Follow the instructions that are packaged with the Fix Installer on how to uninstall the Fix. 3) Restart WebSphere Directions to re-apply fix: 1) Shutdown WebSphere 2) Follow the Fix instructions that are packaged with the Fix Installer on how to uninstall and reinstall the Fix. 3) Restart WebSphere Additional Information: I. To enable caching of work area attributes on the server: 1) Log onto the WebSphere Administrative Console. 2) Expand Servers -> Application Servers 3) Select a server on which to enable work area caching 4) Under Additional Properties, select Work Area Service 5) Under Additional Properties, select Custom Properties 6) If a property named lazySerialization already exists and is set to "false", remove the property. If the lazySerialization property is already set to "true", then work area caching is already enabled for this server and no further action needs to be taken. 7) Select the New button to create a new property. 8) Set the property's name to: lazySerialization 9) Set the property's value to: true 10) Click OK to apply the changes. 11) Click the Save link under Messages and click the Save button to persist the new property. 12) Log out from the Administrative Console. 13) Restart the server. II. To disable caching of work area attributes on the server: 1) Log onto the WebSphere Administrative Console. 2) Expand Servers -> Application Servers 3) Select a server on which to enable work area caching 4) Under Additional Properties, select Work Area Service 5) Under Additional Properties, select Custom Properties 6) If there is no property named lazySerialization, or if the property exists but is not set to "true", then work area caching is already disabled on this server and no further action needs to be taken. 7) Select the check box beside the lazySerialization property. 8) Click the Delete button to remove the property. 9) Click OK to apply the changes. 10) Click the Save link under Messages and click the Save button to persist the new property. 11) Log out from the Administrative Console. 12) Restart the server. III. To enable caching of work area attributes on a client: Specify the jvm system property com.ibm.websphere.workarea.lazySerialization=true when launching the J2EE Application Client Tool. Example: launchClient userApp.ear -CCDcom.ibm.websphere.workarea.lazySerialization=true arg1 arg2 When lazy serialization is enabled in a client or server process, attributes set into the work area service will not be automatically serialized during the set operation. If the attribute is mutable, then changes to the object will be reflected in the work area's reference to that attribute. When the thread with which the attribute is associated makes a remote IIOP invocation, the attribute will be serialized, and the serialized form of the attribute will be cached. So long as the attribute is not reset into the work area, notify the work area service that the attribute has been modified, changes to the original attribute will continue to be reflected within the attribute contained within the work area because the work area holds only a cached reference to the original object. However, so long as the work area service has not been told that the attribute has changed by resetting the attribute into the work area, then subsequent remote requests will continue to use the cached serialized verion of the attribute and direct changes to the mutable attribute will not be propagated. The work area service will release cached references and cached serialized verions of attributes when the attribute is reset or removed, or when the work area is explicitely completed by the application, or when the server component ends execution of the request during which the work area was begun, or when the client process which began the work area terminates. PQ75942 must be installed before PQ78924 is installed.