DB2 - Problem description
Problem IC98144 | Status: Closed |
LATCH PROTOCOL ISSUE IN ZIG ZAG JOIN EXECUTION LEADING TO DEADLATCH BETWEEN SUBAGENTS | |
product: | |
DB2 FOR LUW / DB2FORLUW / A50 - DB2 | |
Problem description: | |
This problem is similar to apar IC91168. The problem will manifest itself as 2 subagents for one statement deadlatching themselves on 2 internal latches. This can easily be identified by running db2pd -latches which may show : db2pd -latches shows : Latches: Address Holder Waiter Filename LOC LatchType HoldCount 0x0700000030CD7BD8 20049 20563 sqlpsvpt.C 207 SQLO_LT_SQLP_SAVEPOINTS__spLatch 1 0x07000000201F0128 20563 20049 /view/db2_v101fp2_aix64_s121127_special_30486/vbs/engn/include/s qldinlines.h 8574 SQLO_LT_SQLD_APP_CB__inDMSlatch 1 The names of the latches : SQLO_LT_SQLP_SAVEPOINTS__spLatch and SQLO_LT_SQLD_APP_CB__inDMSlatch are important here and you will see that the holder and waiter are reversed for the 2 latches. Collecting stack information via db2pd -stack all will show these 2 subagents with the following stacks: Subagent 1 is in sqldRowInsert requesting the inDMS latch, holding the SavePoint latch. getConflictComplex getConflict sqldRowInsert sqlrinsr sqlriisr sqlriSectInvoke Subagent 2 is in sqldBeginIndexCreate requesting the SavePoint latch, holding the inDMS latch. sqlpGetSPLatch sqlpSpReq sqldBeginIndexCreate sqlriCreateTempTableIndex sqlriCreateIndexedTempTable sqlritib2 sqldDataFetch sqliScanLeaf2NoLocking sqlifnxt sqlirdk sqldIndexFetch sqldRowFetch sqlritaSimplePerm sqlriZZOpenDims sqlriZZInit sqlriZigZagJoin | |
Problem Summary: | |
**************************************************************** * USERS AFFECTED: * * All * **************************************************************** * PROBLEM DESCRIPTION: * * See Error Description * **************************************************************** * RECOMMENDATION: * * Upgrade to DB2 version 10.5.0.4. * **************************************************************** | |
Local Fix: | |
To avoid this problem, the usage of the Zig Zag join , join strategy can be disabled by running : db2set DB2_REDUCED_OPTIMIZATION="ZZJN OFF" | |
available fix packs: | |
DB2 Cancun Release 10.5.0.4 (also known as Fix Pack 4) for Linux, UNIX, and Windows | |
Solution | |
The problem is first fixed in DB2 version 10.5.0.4. | |
Workaround | |
not known / see Local fix | |
Timestamps | |
Date - problem reported : Date - problem closed : Date - last modified : | 05.12.2013 16.09.2014 16.09.2014 |
Problem solved at the following versions (IBM BugInfos) | |
Problem solved according to the fixlist(s) of the following version(s) | |
10.5.0.4 |