PQ97289: RESOURCE REFERENCE LOOKUP IS NOT THREAD SAFE. | |||||||||||||||||||||||||||||||||||||||||||
![]() |
|||||||||||||||||||||||||||||||||||||||||||
![]() APAR status Closed as program error. Error description Resource reference lookup is not thread safe. During excessive load the Resource Reference is not found. . Corresponding Websphere V5.1 z/os apar PQ97290 . This apar includes fixes from PQ97066, PQ90851 . Additional Symptoms: While running application under load, resource authenctication may change. For example, an application running with resauth=Container may appear to be running with resauth=Application. . From PQ97066 Customer application deadlocks or times out with sql0913n on 5.1.1 when application issues a select followed by an update using shared connections. The resource reference returned is null causing the res-auth to be different when the getconnection is issued leading to 2 different connections being acquired which causes the deadlock in db2.Local fix No local fix.Problem summary **************************************************************** * USERS AFFECTED: All users of WebSphere Application Server * * V5.0 for z/OS * **************************************************************** * PROBLEM DESCRIPTION: Resource reference lookup is not thread * * safe. Resource reference information * * may be lost during ConnectionFactory or * * DataSource lookup, and as a result * * incorrect authentication settings, * * incorrect connection sharing settings, * * and, for DataSources, incorrect * * isolation level settings, may be set on * * the ConnectionFactory or DataSource * * returned to the application. * **************************************************************** * RECOMMENDATION: * **************************************************************** When performing a lookup of a JMS or JCA ConnectionFactory or a DataSource in the java:comp/env namespace, using a resource reference, the lookup may return a ConnectionFactory or DataSource without the authentication (res-auth), connection sharing (res-sharing), or isolation level (for DataSources) information specified on the resource reference. These selections, specified as deployment descriptors during application assembly, may be ignored. The net result would be the same as if a direct JNDI lookup of the ConnectionFactory or DataSource was performed, without the resource reference and using only the defaults for these settings. So the application may get back a ConnectionFactory or DataSource with res-auth=Application even though res-auth=Container was specified on the resource reference. As one example, this could lead to the servant id used to get a DB2 JDBC connection rather than the id of the container-managed alias. This could lead to authorization failures either getting the connection or accessing the database tables with the result connection obtained with the incorrect authorization id. Or, the application may get back a ConnectionFactory or DataSource with connection sharing enabled (when unsharable connections were intended), or vice versa. Or, the application may get back a DataSource with an incorrect isolation level (e.g. the default of java.sql.Connection.TRANSACTION_REPEATABLE_READ), which could lead to lock contention, poor performance, and deadlocks, for example.Problem conclusion Resource reference lookup has been modified to handle multithreaded lookups correctly. APAR PQ97289 is associated with SERVICE LEVEL W502020 of WebSphere Application Server V5.0 for z/OS.Temporary fix Comments
APAR is sysrouted FROM one or more of the following: PQ90851 APAR is sysrouted TO one or more of the following: Modules/Macros
Publications Referenced
|
Document Information |
Current web document: swg1PQ97289.html
Product categories: Software > Application Servers >
Distributed Application & Web Servers > WebSphere Application
Server for z/OS
Operating system(s):
Software version: 500
Software edition:
Reference #: PQ97289
IBM Group: Software Group
Modified date: Jan 5, 2005
(C) Copyright IBM Corporation 2000, 2009. All Rights Reserved.