PQ55873: NEW FUNCTION | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() APAR status Closed as program error. Error description New FunctionLocal fix Problem summary **************************************************************** * USERS AFFECTED: All users of WebSphere Application Server * * V4.0.1 for z/OS and OS/390. * **************************************************************** * PROBLEM DESCRIPTION: The following problems are addressed * * in APAR PQ55873: * * * * New connector support is provided to * * support the following connectors which * * implement the J2EE Connector * * Architecture (JCA) and support 2-phase * * commit transaction processing through * * the use of zOS Resource Recovery * * Services (RRS): * * - IMS Connect 1.2, * * IMS Connector for Java * * - CICS Transaction Gateway (CTG) * * 4.02 ECI Connector * * - IMS 7.1 JDBC Connector * * * * In addition to the new connector * * support, new Container concurrency * * control and isolation level support * * is provided for Container Managed * * Persistent (CMP) Entity Beans. * * Currently, only one concurrency * * control scheme with a single * * isolation level is provided in * * WebSphere Application Server for z/OS * * and OS/390 Version 4.0.1. With the new * * support, developers can now choose * * between two schemes of concurrency * * control support and can now specify the * * particular isolation level they require * * for their application. * * * * Solutions to the following defects and * * field-reported problems are also * * provided in APAR PQ55873: * * * * (MD11251) ABEND0C4/ABENDS0C4 can occur * * in Snoozer::invokeSnoozeAlarm(). * * * * (MD13100) Support is needed to limit * * the number of server regions created by * * WLM. * * * * ( PQ52868) Customer reported running * * out of DB2 connections running a * * transaction that made multiple calls * * to CMP beans. * * * * ( PQ53749) A J2EE application under * * one transaction repeatedly invokes a * * session bean to access data on DB2 and * * runs out of DB2 connections (threads). * * * * ( PQ56914) Sometimes, while deploying an * * EAR file into SM/EUI, EarFileProcessing * * fails. NoClassDefFoundError is thrown * * for missing class, although the class * * that it claims is missing is contained * * within the WAR file's /WEB-INF/lib dir, * * another EjbJAR file's / dir, or EAR * * file's / dir as a jar file. * **************************************************************** * RECOMMENDATION: * **************************************************************** The following problems are addressed in APAR PQ55873: Connection Management support is provided by WebSphere for z/OS to support selected CICS and IMS RRS-Compliant connectors which implement the J2EE Connector Architecture. The Connection Management support provides the application server support needed by the connectors. With this capability, the supported connectors can be used as either non-managed connectors or as "managed connectors". In this case: JNDI Lookup support is provided to locate connection factories requested by an application; requested connections are managed by the server; user identity assigned to each connection can be controlled by the server or the application; Connection Management policy can be specified to control the cleanup of connections that are not properly closed by an applicaton, and support is provided to reuse connections within a transaction. In conjunction with the Connection Management support, WebSphere DB2 JDBC support is also enhanced. When Connection Management is configured into the servers, all DB2 JDBC connections are wrappered and managed as J2EE connections. Additionally, with or without Connection Management, DB2 JDBC connections are optionally reused within the scope of a transaction to prevent the consumption of critical DB2 resources (i.e., DB2 threads). Concurrency Control is used by WebSphere to govern the manner in which backend resource managers manage concurrent access to data. Different applications may have varying requirements on the scheme of Concurrency Control used by the resource manager. There is a lack of control over what type of Concurrency Control scheme is used and how much locking is done in the backend during transactions. For some applications, a higher degree of locking is necessary to ensure data integrity during frequent, concurrent data access. In others, a lesser degree of locking may be acceptable because of infrequent concurrent access to the data. The current Concurrency Control Management system only offers a "Pessimistic" scheme with a single Isolation Level. Solutions to the following defects and field-reported problems have also been provided in APAR PQ55873: (MD11251) ABEND0C4/ABENDS0C4 can occur in Snoozer::invokeSnoozeAlarm(). Timing windows exist in the Snoozer / SnoozeAlarm (bbootmq.cpp, bbootmqe.cpp) classes that can lead to references to objects that have already been freed. (MD13100) Support is needed to limit the number of server regions created by WLM. WLM will start server regions as it feels they are necessary; however, there are conditions under which it may be desirable to limit the number started. An interface needs to be provided to do this. ( PQ52868) An application that calls a session bean that uses tx required as a transaction attribute, and calls several CMPs that have the same transaction attribute, eventually stops working when it runs out of DB2 threads. The customer sees from 200-300 connections made. Each CMP entity bean was using 2 connections per transaction. When the customer increased the max connections setting to 500, the number of connections did not grow much beyond 300. ( PQ53749) When a session EJB that gets, uses, and closes a connection to a DB2 JDBC DataSource is invoked repeatedly by another EJB running under a single global transaction, a new DB2 connection is created every time it is invoked and the new connection ties up a DB2 thread until the transaction is committed. As the EJB is invoked again and again under one transaction, the available DB2 theads will be consumed, one by one, until DB2 finally runs out of threads. This results in an 0C2 abend. ( PQ56914) In rare cases, an EAR file that contains both EjbJARs and WARs may experience false claims of missing class, even though the class that AAT/390 claims missing is, in fact, located within /WEB-INF/lib dir as a jar file within WAR, / dir as a jar file within another EjbJAR, or / dir as a jar file within EAR. For example: If an EAR that a user is trying to import into AAT/390 has the following structure, while AAT tries to reflect all methods of Hello EJB stored within an EjbJAR file, the classloader mechanism used within AAT may face the following problem: => inherits/extends -> references Trying to reflect all methods in HelloHome interface will cause HelloRemote class to be loaded due to reference. HelloRemote extends Hello class; therefore, Hello gets loaded under the cover. Hello residing in war1.war->WEB-INF/lib/WarClasses.jar references several classes, including the following: EmployeeInformationValue.class, TargetEntitlement.class GrndsFactoryException.class s1.ear: META-INF/application.xml ejb1.jar (EjbJAR) web1.war (WebApp) ejb1.jar: META-INF/ejb-jar.xml com/s1/HelloRemote.class => Hello.class com/s1/HelloBean.class com/s1/HelloHome.class -> HelloRemote.class : war1.war: WEB-INF/web.xml WEB-INF/classes/com/s1/HelloServlet.class WEB-INF/lib/WarClasses.jar WEB-INF/lib/grnds_s1.jar Hello.html pretty.gif : WarClasses.jar: com/s1/Hello.class +-> EmployeeInformationValue.class +-> TargetEntitlement.class +-> GrndsFactoryException.class com/s1/EmployeeInformationValue.class com/s1/TargetEntitlement.class : grnds_s1.jar: org/grnds/GrndsFactoryException : NoClassDefFoundError is thrown for GrndsFactoryException, which is NOT included within the same JAR as the first two classes that Hello.class references due to the current classloader's inability to delegate classes not found during classloading between sibling Jar/Zip files contained within a J2EE Module archive (i.e., EjbJAR, WAR, etc.).*Problem conclusion APAR PQ55873 provides the following problem resolution: Connection Management support needed for J2EE connectors is now included in the base WebSphere Application Server product for z/OS and OS/390. A prior version of Connection Management had been available only on the WebSphere Web site. New Systems Management EUI support is provided to allow an installation to configure Connection Management into the Application Servers. Connection Management has been enhanced to support the following connectors: - 1.2 IMS Connector for Java - CICS Transaction Gateway (CTG) 4.02 ECI Connector - 7.1 IMS JDBC Connector When Connection Management is configured into the Application Servers, DB2 JDBC connections are wrappered as J2EE connections, thus benefiting from the functional characteristics that are implemented for standard J2EE connectors. Furthermore, with or without Connection Management configured, customers can optionally take advantage of connection reuse support to reuse DB2 JDBC connections within the scope of a transaction, thus avoiding the potential problem of running out DB2 threads during application processing. Support has been provided to allow application developers to choose between two different schemes of Concurrency Control: Pessimistic or Optimistic. In addition to the Pessimistic scheme, the application developer can now specify which JDBC Isolation Level they want applied to the backend connection, on a per-method level. Optimistic Concurrency Control is introduced with this feature and utilizes a low backend locking and over-qualified updates. The new Concurrency Control and Isolation Level settings are fully configurable using AAT version 27 or later. It should be noted that because of the new function provided by PQ55873 and the fixes for the following defects, your installation may experience an improvment in performance from certain workloads. (MD11251) Snoozer code has been restructured to eliminate some timing windows that can cause references to deleted objects. (MD13100) A new environment variable, MAX_SRS, is created to provide an interface to the WLM IWMSLIM service for the SR. This mirrors the already existing MIN_SRS environment variable. ( PQ52868) Support is provided to allow CMP entity beans to share DB2 connections. ( PQ53749) Support is provided to allow DB2 connections (other than container-managed connections for CMP beans) to be reused within the scope of a single global transaction. In conjunction with this, a JVM property, com.ibm.ws390.ConnectionUsageScopeDefault, is provided to allow an installation to indicate whether or not DB2 connections are to be reused. This option is not applicable to DB2 connections obtained by the container for CMP beans. The container does its own connection reuse management of CMP beans. ( PQ56914) Classloading design when reading and writing EAR files has been modified to handle the case where sibling classloaders for contained Zip/Jar require reference delegation. Note that this classloader change will NOT affect the runtime classloading behavior. This deployment classloader functionality will not prevent a potential NoClassDefFoundError during runtime regardless of which classloading (visibility) mode is being used during runtime, because it is separate from runtime classloader behavior. For information about Connectors support and Concurrency Control Management support provided in this APAR, two separate documents are provided: * WebSphere Application Server V4.0.1 for z/OS and OS/390: WebSphere for z/OS-supported Connectors * WebSphere Application Server V4.0.1 for z/OS and OS/390: Concurrency Control Management To download these documents, go to the following Web site, then click "Product information." http://www.ibm.com/software/webservers/appserv/zos_os390/ support.html At a later time, the information in these documents will be integrated into the WebSphere for z/OS formal publications. To access the latest publications, go to the product library page at: http://www.ibm.com/software/webservers/appserv/ The following publication was revised as a result of this APAR: ________________________________________________________________ WebSphere Application Server V4.0.1 for z/OS and OS/390 Messages and Diagnosis: GA22-7837-02 ________________________________________________________________ NOTE: Periodically, we refresh the documentation on our Web site, so the changes might have been made before you read this text. To access the latest online documentation, go to the product library page at: http://www.ibm.com/software/webservers/appserv/ ________________________________________________________________ Chapter 13, pg. 348 (deleted) C9C21046 Explanation: IBM Internal Only User Response: Contact the IBM Support Center ________________________________________________________________ ________________________________________________________________ Document Name: WebSphere Application Server V4.0.1 for z/OS and OS/390: Installation and Customization - Document Number: GA22-7834-03 ________________________________________________________________ In "Appendix A, Environment variables," on page 323, add the following row to Table 42: +---------------------------+-------------+-------------+ | ENVIRONMENT VARIABLE = | ... | BUSINESS | | <DEFAULT> | | APPLICATION | | | | SERVER | +---------------------------+-------------+-------------+ | MAX_SRS=0 | | O | +---------------------------+-------------+-------------+ On page 340, add the following environment variable description: MAX_SRS=NN Specifies the total number of server regions allowed by Workload Management to run concurrently in the server's application environment; that is, Workload Management will not start more server regions for a particular application environment than are specified through this environment variable. Use this environment variable to limit the number of server regions created by Workload Management for a server. The default is zero, which means there is no limit. EXAMPLE: MAX_SRS=10 APAR PQ55873 is associated with SERVICE LEVEL W401030 of WebSphere Application Server V4.0.1 for z/OS and OS/390.Temporary fix Comments
APAR is sysrouted FROM one or more of the following: APAR is sysrouted TO one or more of the following: UQ99329 Modules/Macros
|
Document Information |
Product categories: Software > Application Servers >
Distributed Application & Web Servers > WebSphere Application
Server for z/OS
Operating system(s):
Software version: 401
Software edition:
Reference #: PQ55873
IBM Group: Software Group
Modified date: Apr 2, 2002
(C) Copyright IBM Corporation 2000, 2006. All Rights Reserved.