A fix is available
APAR status
Closed as program error.
Error description
The problem happens when exectue() is called on a perpared statement the database driver will create result set objects, for later use, even if the application does not perform any result set operations. Result set objects that have not been used by the application, are not wrappered by the IBM Relation Resource Adapter (RRA). Since these ojbects are not wrappered they are not closed before the statement is placed in the cache. This means that the RRA is caching statements with open results set objects, which is a leak. These result set objects are only held open until exectue() is called again, for this statement. So the severity of the leak depends on how long the statement is in the cache, the size of results set objects, and how many statements are in the cache. This APAR will add code to close unwrappered results set objects before placing a statement in the cache. If user is using the DB2 universal driver, they might see the exception below when statement caching is enabled. If the user is using other database drivers, they will not see this exception but should apply the fix for this APAR to avoid the leak condition. Sample trace that was noticed: om.ibm.db2.jcc.a.SqlException: invalid operation: setCursorName() called when there are open ResultSet's on the Statement. ERRORCODE=-4471, SQLSTATE=null .at com.ibm.db2.jcc.a.ad.a(ad.java:650) .at com.ibm.db2.jcc.a.ad.a(ad.java:60) .at com.ibm.db2.jcc.a.ad.a(ad.java:120) .at com.ibm.db2.jcc.a.rl.setCursorName(rl.java:901) .at com.ibm.websphere.rsadapter.DB2UniversalDataStoreHelper.doStatem entCleanup(DB2UniversalDataStoreHelper.java:225) .at com.ibm.ws.rsadapter.jdbc.WSJdbcPreparedStatement.closeWrapper(W SJdbcPreparedStatement.java:435) .at com.ibm.ws.rsadapter.jdbc.WSJdbcCallableStatement.closeWrapper(W SJdbcCallableStatement.java:236)
Local fix
N/A
Problem summary
**************************************************************** * USERS AFFECTED: All users of WebSphere Application Server * * V7.0 * * * **************************************************************** * PROBLEM DESCRIPTION: Result sets created by the database * * driver when execute() is called may be * * leaked. * * * **************************************************************** * RECOMMENDATION: * **************************************************************** When exectue() is called on a prepared statement, the database driver creates result set objects for later use, even if the application does not perform any result set operations. Result set objects that have not been used by the application, are not wrappered by the WebSphere Relation Resource Adapter (RRA). Since these objects are not wrapped, they are not closed before the statement is placed in the cache. These result set objects are only held open until exectue() is called again, for this statement. So the severity of the leak depends on how long the statement is in the cache, the size of results set objects, and how many statements are in the cache. Users of DB2 universal driver may see the following exception when statement caching is enabled: com.ibm.db2.jcc.a.SqlException: invalid operation: setCursorName() called when there are open ResultSet's on the Statement. ERRORCODE=-4471, SQLSTATE=null .at com.ibm.db2.jcc.a.ad.a(ad.java:650) .at com.ibm.db2.jcc.a.ad.a(ad.java:60) .at com.ibm.db2.jcc.a.ad.a(ad.java:120) .at com.ibm.db2.jcc.a.rl.setCursorName(rl.java:901) .at com.ibm.websphere.rsadapter.DB2UniversalDataStoreHelper.doStatem entCleanup(DB2UniversalDataStoreHelper.java:225) .at com.ibm.ws.rsadapter.jdbc.WSJdbcPreparedStatement.closeWrapper(W SJdbcPreparedStatement.java:435) .at com.ibm.ws.rsadapter.jdbc.WSJdbcCallableStatement.closeWrapper(W SJdbcCallableStatement.java:236)
Problem conclusion
APAR PK98699 includes code to close unwrapped results set objects before placing a statement in the cache. APAR PK98699 is currently targeted for inclusion in Service Level (Fix Pack) 7.0.0.9 of WebSphere Application Server V7.0. Please refer to URL: //www.ibm.com/support/docview.wss?rs=404&uid=swg27006970 for Fix Pack availability.
Temporary fix
Comments
APAR Information
APAR number
PK98699
Reported component name
WEBSPHERE FOR Z
Reported component ID
5655I3500
Reported release
700
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2009-10-15
Closed date
2009-10-21
Last modified date
2010-04-03
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Modules/Macros
BBGUBINF BBOUBINF
Fix information
Fixed component name
WEBSPHERE FOR Z
Fixed component ID
5655I3500
Applicable component levels
R700 PSY UK55133
UP10/03/26 P F003
Fix is available
Select the PTF appropriate for your component level. You will be required to sign in. Distribution on physical media is not available in all countries.
[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SS7K4U","label":"WebSphere Application Server for z\/OS"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"7.0","Edition":"","Line of Business":{"code":"LOB45","label":"Automation"}}]
Document Information
Modified date:
10 February 2022