A fix is available
APAR status
Closed as program error.
Error description
SQLCODE -30108 with Reason code: "2" when KeepDynamicRefresh is enabled and client is configured for either sysplexwlb or seamless failover and the thread is killed while a transaction is still active. Erep will indicate either reason code 00D3003E or 00D3003F. No messages are externalized to the Db2mstr started task log. No DSNL027I or DSNL028I are issued for this problem Additional keywords and symptoms: ************************************* DB2DDF KeepDynamicRefresh sysplexwlb SQL30108N -30801 RC00D3003E 00D3003E RC00D3003F 00D3003F
Local fix
no local workaround or fix
Problem summary
**************************************************************** * USERS AFFECTED: * * All Distributed Data Facility (DDF) users. * * Specifically where DB2 is being accessed * * by distributed applications using the * * IBM Data Server Driver or Client and the * * packages utilized by the application were * * bound with KEEPDYNAMIC(YES). * **************************************************************** * PROBLEM DESCRIPTION: * * Intermittent occurrences of * * SQLCODE -30108 with Reason code: "2" * * are observed in the client application * * environments. * **************************************************************** * RECOMMENDATION: * * Apply corrective PTF when available * **************************************************************** Db2 provided a capability called KeepDynamicRefresh. Distributed client application environments, which access Db2 using the IBM Data Server Driver or Client, and utilize packages bound with KEEPDYNAMIC YES, can activate this capability. The purpose of KeepDynamicRefresh was to periodically seamlessly refresh the distributed application's connection/DBATs. This refresh is accomplished by Db2 terminating the connection/DBAT when the connection/DBAT has been used for processing transactions for up to an hour or when the connection/DBAT has been sitting idle for up to 20 minutes since processing a transaction. Db2 will record these events in LOGREC with reason codes 00D3003E (KeepDynamicRefresh DBAT used more than one hour) and 00D3003F (KeepDynamicRefresh DBAT idle for more than 20 minutes). These connection/DBAT terminations are treated by the IBM Data Server Driver or Client as an indication for the IBM Data Server Driver or Client to refresh its processing thread, if and only if, the terminations occurred while not processing a transaction. Also, it was also intended that Db2 would only terminate a candidate connection/DBAT when the connection/DBAT is not processing a transaction or holding a Db2 resource. Due to an internal logic error, the Db2 task which monitors DBATs for being idle too long incorrectly detected that one of these KeepDynamicRefresh connection/DBATs was idle too long and terminated the connection/DBAT while it was processing a transaction. This event is then reported in the distributed client application environment as an occurrence of SQLCODE -30108 with Reason code: "2".
Problem conclusion
Db2 has been changed to ensure that KeepDynamicRefresh connection/DBATs will only be terminated for being idle too long when the connection/DBAT is not processing a transaction or holding a Db2 resource.
Temporary fix
Comments
APAR Information
APAR number
PH25529
Reported component name
DB2 OS/390 & Z/
Reported component ID
5740XYR00
Reported release
C10
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2020-05-18
Closed date
2020-06-08
Last modified date
2020-07-06
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
UI69927 UI69928
Modules/Macros
DSNLQCTL
Fix information
Fixed component name
DB2 OS/390 & Z/
Fixed component ID
5740XYR00
Applicable component levels
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":"SSEPEK","label":"Db2 for z\/OS"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"12.0","Line of Business":{"code":"LOB10","label":"Data and AI"}}]
Document Information
Modified date:
07 July 2020