PQ60433: CONNECTION MANAGER PROBLEM INTRODUCED BY PQ52986

APAR status
Closed as program error.

Error description
Connection Manager problem introduced by PQ52986.
.
Per Harmon Pierce:
.
What is happening is this :-
.
ConnectionProxy.prepareStatement()  is called
.
This calls Proxy.__preInvoke() which marks the proxy as busy
(proxyInUse = Boolean.TRUE)
.
The ConnectO.prepareStatement() is executed and driven down to
DB2.
.
A SQLException is returned from DB2 to say the TCP/IP connection
has gone.
.
translateException() is called. This identifies the stale
connection and attempts to purge the connection pool.
.
JTAConnectO.JTADestroy() is called. This calls JTSXA.delist()
which calls TransactionImpl.delistResource, which calls
XARminst.endAssociation().
.
JTS attempts to end the XA connection, but receives an XA
Exception (XA_RBROLLBACK), which is an acceptable exception to
receive.
.
JTS calls rollback_only() on the coordinator. This action drives
a number of call backs one of which is
ConnectO.afterCompletion().
.
afterCompletion() calls ConnectionProxy.connectionTXComplete(),
which calls ConnectionProxy.RBClose(), which calls
Proxy.close().
.
Proxy.close() checks if proxyInUse == Boolean.TRUE.  It is
because __postInvoke has not yet been driven and the Thread
proceeds to wait() for it to complete.
.
It will wait forever because its this Thread that would have
eventually driven __postComplete when the connection was reset.
Local fix Problem summary
****************************************************************
* USERS AFFECTED: WebSphere Application Server users of DB2    *
*                 and XAConnection.                            *
****************************************************************
* PROBLEM DESCRIPTION: Connection hangs were seen after a      *
*                      StaleConnectionException occurred.      *
****************************************************************
* RECOMMENDATION:                                              *
****************************************************************
Applications using DB2 XAConnection (with JTA enabled) will
hang if stale connection exception occurs during use of
connection.
Problem conclusion
During the destroy processing, the connection was being marked
destroyed after the delist was called on the transaction
component. The code was changed to mark the connection
destroyed before delist is called.
Temporary fix Comments
APAR information
APAR number PQ60433
Reported component name WEBSPHERE AE NT
Reported component ID 5630A2201
Reported release 400
Status CLOSED PER
PE NoPE
HIPER NoHIPER
Submitted date 2002-04-23
Closed date 2002-04-23
Last modified date 2002-04-23

APAR is sysrouted FROM one or more of the following:
PQ59983

APAR is sysrouted TO one or more of the following:

Modules/Macros
JDBC          

Fix information
Fixed component name WEBSPHERE AE NT
Fixed component ID 5630A2201

Applicable component levels
R400 PSY    UP


Document Information


Product categories: Software > Application Servers > Distributed Application & Web Servers > WebSphere Application Server > General
Operating system(s):
Software version: 400
Software edition:
Reference #: PQ60433
IBM Group: Software Group
Modified date: Apr 23, 2002