DB2 - Problem description
Problem IT01180 | Status: Closed |
POTENTIAL DEAD LATCH OR HANG WITH A LOAD AND TWO INDEX REBUILDS | |
product: | |
DB2 FOR LUW / DB2FORLUW / A50 - DB2 | |
Problem description: | |
A timing window exists between three applications that could result in a dead latch. In order for the this to materialize the following things must happen: - A range-partitioned table exists with multiple ranges, where each range has at least one partitioned index. - At least two of the partitioned indexes in the table have indexes that were marked invalid and require index recreation to rebuild them. - Both partitioned indexes that are marked invalid must be defined in the same table space. - Two separate applications must drive index recreation for each invalid index above. - A third application has to be running the LOAD utility. The LOAD utility can be for another table, as long as it shares the same table space as the table space used for the partitioned indexes above. - The LOAD utility must be using the 'COPY NO' option - The connection for the LOAD utility must be using LOCK TIMEOUT set to infinite This dead latch can be detected by analyzing a combination of the lock monitoring, db2pd -latches and db2pd -stack output. The three applications will be holding and requesting the resources in the following states: 1) First index recreate Holding latch type identified by SQLO_LT_SQLD_TCB_LOTCH__tcbIndexValidityLotch Waiting for the table space lock. Requesting the lock in IX mode. 2) LOAD Waiting for the table space lock. Requesting the lock in U mode. A snippet of the stack while it is waiting, which can be generated with db2pd -stack: _ZN8sqeAgent14IntrptWaitLock _Z18sqleIntrptWaitLock _Z21sqlplWaitForLockGrantP9sqeBsuEdu _Z13sqlplWaitOnWP _Z21sqlplMakeNewRequestSD _Z19sqlplMakeNewRequest _Z7sqlplrqP9sqeBsuEduP14SQLP_LOCK_INFO _Z13sqluLockPoolsP8sqeAgentP10sqluCTablej _Z23sqluRegisterLoadRestart _Z29sqluAcquirePartitionResources _Z24sqlu_register_table_load 3) Second index recreate Holding the table space lock in IX mode. Waiting for the latch type identified by SQLO_LT_SQLD_TCB_LOTCH__tcbIndexValidityLotch | |
Problem Summary: | |
**************************************************************** * USERS AFFECTED: * * All users * **************************************************************** * PROBLEM DESCRIPTION: * * See Error Description * **************************************************************** * RECOMMENDATION: * * Upgrade to the latest fix pack. * **************************************************************** | |
Local Fix: | |
To break the dead latch the LOAD application must be interrupted. This can be done with the FORCE APPLICATION command. | |
available fix packs: | |
DB2 Cancun Release 10.5.0.4 (also known as Fix Pack 4) for Linux, UNIX, and Windows | |
Solution | |
Problem is first fixed in DB2 UDB version 10.5 fix pack 4. | |
Workaround | |
not known / see Local fix | |
Timestamps | |
Date - problem reported : Date - problem closed : Date - last modified : | 22.04.2014 08.09.2014 08.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 |