PQ74408: _PREINVOKE NOT CALLED WHEN GETMETADATA CALLED ON CONNECTION, THUS CONNECTION NOT ENLISTED IN CURRENT TRANSACTION

 A fix is available

5.0.2: WebSphere Application Server Version 5.0 Fix Pack 2 (Version 5.0.2)



APAR status
Closed as program error.

Error description
When getMetaData is called on a connection, the connection manag
er does not call preInvoke.  This means that the connection is n
ot enlisted in any running transactions.  Because of this, any s
ubsequent connections create their own local transactions.  The
original XA resource from the getMetaData call has not been comm
itted, so the database will return an XA error when the XA.start
 is called for the second transaction.
Local fix
The workaround is to hard code the select that is done under the
 covers when getMetaData is called.  This may be difficult for c
ustomers to implement.
Problem summary
****************************************************************
* USERS AFFECTED: All WebSphere Application Server users of    *
*                 database connections.                        *
****************************************************************
* PROBLEM DESCRIPTION: When using getMetaData() on the         *
*                      connection, the user could get          *
*                      an XAerror on the next                  *
*                      transaction start.                      *
****************************************************************
* RECOMMENDATION:                                              *
****************************************************************
When getMetaData is called on a connection, the connection
manager did not call preInvoke.  This means that the
connection is not enlisted in any running transactions.
Because of this, any subsequent connections create their own
local transactions.  The original XA resource from the
getMetaData call has not been committed, so the database will
return an XA error when the XA.start is called for the
second transaction.
Problem conclusion
Changed the code so we enlist (call preInvoke()) on
getMetaData() calls.
Temporary fix Comments
APAR information
APAR number PQ74408
Reported component name WAS BASE 5.0
Reported component ID 5630A3600
Reported release 00W
Status CLOSED PER
PE NoPE
HIPER NoHIPER
Special Attention NoSpecatt
Submitted date 2003-05-21
Closed date 2003-05-21
Last modified date 2003-05-21

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

APAR is sysrouted TO one or more of the following:

Modules/Macros
JDBC          

Publications Referenced

Fix information
Fixed component name WAS BASE 5.0
Fixed component ID 5630A3600

Applicable component levels
R00W PSY    UP
R00I PSY    UP
R00S PSY    UP
R00A PSY    UP
R003 PSY    UP
R00H PSY    UP


Document Information


Product categories: Software > Application Servers > Distributed Application & Web Servers > WebSphere Application Server > General
Operating system(s):
Software version: 00W
Software edition:
Reference #: PQ74408
IBM Group: Software Group
Modified date: May 21, 2003